2016-09-18 5 views
0

私にはフォルダmy_project/app/my_assetsがあります。私はしました資産がフィルタにかけられましたが、パイプラインに追加されました

Asset filtered out and will not be served: add `Rails.application.config.assets.precompile += %w(my_js1.js)` 
to `config/initializers/assets.rb` and restart your server 

:ここに私のconfig/initializers/assets.rb

Rails.application.config.assets.paths << Rails.root.join("app", "my_assets") 
Dir.glob(Rails.root.join("app", "my_assets", "*")).each do |a| 
    Rails.application.config.assets.paths << a 
    Dir.glob(File.join(a, "*")).each do |b| 
    puts "b: #{b}" 
    Rails.application.config.assets.precompile << b 
    end 
end 

だとここで私はapplication.html.erbを持っているコードです:

<script src="<%= asset_path('my_js1.js') %>"></script> 

は、パイプラインに追加しましたが、私はこのエラーを持つ維持していることをファイルサーバーを再起動しましたが、利用できません。

+0

を試してみてください、あなたはファイルの 'config /初期化子/ assets.rb'に'(my_js1.js)wが行 'Rails.application.config.assets.precompile + =%を追加して、その後、エラーメッセージが表示されたら、サーバーを再起動しますか? –

+0

@ LukaKerr、私の質問を読んでください。 – Johshi

+0

どのようなバージョンのレール? –

答えて

1

あなたの問題は、あなたのb変数が絶対パスだが、precompileが(アセットパスに相対的な)相対パスを探していると思います。それがうまくいかない場合は削除しますが、試してみる価値があります。

relative_path = File.basename(b) 
# or alternatively b.split("/")[-1] 
Rails.application.config.assets.precompile << relative_path 
関連する問題