###やりたいこと
app/assets にアプリケーション固有のJSとCSSを設置
vendor/assets に外部のライブラリを設置
app/assets/javascripts 直下にはコントローラーと同じ名前の js coffee
app/assets/javascripts/* に任意のディレクトリをほってその中にコントローラー名以外の汎用的な部品 JS CSS をおいて
直下のコントローラー名.js から require する
という仕様になっていました
ただ JS で ruby の変数を使って動的に処理を変更する必要がでてきた
(gonによって処理を切り替えるのではなくそもそも実行しない場合は処理内容もみせたくない)
ので動的によみこむJSをかえようと思い複数のパターンのJSファイルをディレクトリをほって作って
(たとえば app/assets/javascripts/user/user1.js )
ビューから
<%= javascript_include_tag 'user/user1' if @mode = 1 %>
のように読み込むJSをきりかえようとしたところ
開発ステージングでは動作したんですが
プロダクションになって user1.js が 404 というJSエラーになります
config/initializer/assets.rb にはもともとなにもかかれていなくて
Rails.application.config.assets.paths << Rails.root.join("app", "assets", "javascripts", "user")
を追加したり消したり
# https://railsguides.jp/asset_pipeline.html#アセットをプリコンパイルする Rails.application.config.assets.precompile << Proc.new do |filename, path| app_assets_path = Rails.root.join('app', 'assets').to_path if path.starts_with?(app_assets_path) && %w(.js .coffee .css .scss).include?(File.extname(filename)) puts "precompile #{filename}" true else false end end
を追加したり消したりしてるんですが
どうしても開発ステージング本番すべての環境で思ったような動作にすることができません
どのように設定すればよいのでしょうか
数日試行錯誤してるのですがまったく解決方法がわからず本当に困っています…
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。