Tôi muốn tải trước cấu hình (từ tệp ".yml"). Trong một trong những file khởi tạo của tôi (config/initializers/facebook.rb) Tôi có dòng mã sau đây:Rails biên dịch trước liên tục uninitialized
FACEBOOK_CONFIG = YAML.load_file("#{Rails.root}/config/facebook.yml")[Rails.env]
Vì vậy, nó hoạt động như một nét duyên dáng ở chế độ "PHÁT TRIỂN". Khi tôi chuyển sang chế độ sản xuất, nó giữ cho tôi biết rằng FACEBOOK_CONFIG là hằng số không được khởi tạo cho tệp "facebook.js.coffee.erb
" của tôi, nằm ở asset/javascript (Nếu nó quan trọng), nếu tôi muốn o "cào tài sản: biên dịch trước" . Tôi đã cố gắng làm công cụ ngẫu nhiên, như: RAILS_ENV=production bundle exec rake assets:precompile
hoặc
tài sản cào: precompile: tất cả
, nhưng may mắn không
Tôi đã cố gắng gán "" biến cho môi trường sản xuất của tôi (mặc dù, nó phải đúng theo mặc định), chỉ trong trường hợp.
Tại sao nó không hoạt động ở chế độ sản xuất (Nhưng, tôi muốn nhấn mạnh rằng nó hoạt động (!) Trong môi trường phát triển).
Ai đó có thể trợ giúp vấn đề đó không?
tệp yml của bạn trông như thế nào (trừ thông tin đăng nhập của bạn) và bạn có đang khởi động ở chế độ sản xuất cục bộ hay không trên dịch vụ như heroku? –
Bạn có thể thử tăng ngoại lệ trên tệp trình khởi tạo và xem liệu nó có được kích hoạt không? Một điều cần thử là, nâng cao một ngoại lệ trên tệp khởi tạo và chạy một tác vụ rake khác cũng nạp môi trường Rails. Hãy thử cả hai trên môi trường phát triển và sản xuất (RAILS_ENV = sản xuất) – htanata