Railsでcontroller名、action名に対応したjsファイルを読み込む

rails


個別actionごとにjsファイルを定義したいとき。

たとえば、

app/assets/[コントローラ名]/[アクション名].js

を対応したテンプレで読み込む。

app/views/layout/application.htmlなどのレイアウトファイルに以下のように記述。

   <%= javascript_include_tag params[:controller] if AppName::Application.assets.find_asset('#{params[:controller]}.js') %>
   <%= javascript_include_tag '#{params[:controller]}/#{params[:action]}'  if AppName::Application.assets.find_asset('#{params[:controller]}/#{params[:action]}.js') %>

Rails 4.0.xで検証。Rails 3でも動くっぽい。

参考

http://stackoverflow.com/questions/6571753/rails-3-1-asset-pipeline-how-to-load-controller-specific-scripts


matsubokkuri

マインディアにてCTOをしています。

あわせて読みたい

コメントを残す