2012-04-18 45 views
9

các Rails Guides nói:Rails javascript tài sản mất tích sau khi precompile

Nếu có bị thiếu file biên dịch sẵn trong sản xuất, bạn sẽ nhận được một Bánh răng :: Helpers :: RailsHelper :: AssetPaths :: AssetNotPrecompiledError ngoại lệ chỉ ra tên của (các) tệp bị thiếu.

tôi thực hiện:

bundle exec rake assets:precompile 

tuy nhiên tôi không nhận được bất kỳ lỗi, và tập tin javascript của tôi là mất tích trong manifest.yml. Ngoài ra, nó không xuất hiện trong công khai/công khai/tài sản, do đó, sự cố chỉ xảy ra khi sản xuất.

tôi có trong application.js

//= require formalize/jquery-formalize 

tôi đang thiếu gì?

Cảm ơn.

+0

Trong env phát triển, bạn có thể truy cập 'jquery-formalize' đúng? – zires

+0

có, trong quá trình phát triển tôi thấy nó hoạt động – valk

+0

nội dung nào trong tệp kê khai của bạn? – zires

Trả lời

16

Trên thực tế hai điều cần phải làm:

config.assets.precompile += %w(*.js *.css) 

như mô tả here, và

config.serve_static_assets = true 

để thử nghiệm sản xuất trong nước khi sử dụng

rail s 

dĩ nhiên sử dụng

rake assets:precompile 

tuy nhiên trong trường hợp của tôi - không có config.assets.precompile điều này sẽ không có hiệu lực vì tệp kê khai không chứa bất kỳ tham chiếu nào đến tệp javascript của tôi.

HTH.

+0

Cảm ơn, bạn đã tiết kiệm thời gian cho tôi. Tôi đã thử tất cả những điều trên ngoại trừ ... "config.assets.precompile + =% w (* .js * .css)". Điều đó đã làm các thủ thuật –

+0

Sau 3 giờ các vấn đề tương tự mà tài sản đã có sẵn trong phát triển, nhưng không phải trên sản xuất ... hai dòng trong production.rb đã cứu tôi! Bây giờ phát triển và sản xuất hoạt động theo cách tương tự! – ATSiem

4

Hãy thử chỉ:

rake assets:precompile 

Tôi đã có vấn đề tương tự và đã từng làm việc. Bạn cũng có thể xóa nội dung của thư mục /public/assets và thử chạy lại.

+0

thanks, works for me =] –

Các vấn đề liên quan