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

個別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

Railsでcontroller名、action名に対応したjsファイルを読み込む
https://blog.teraren.com/posts/rails-javascript-corresponding-to-controller-action/
作者
Yuki Matsukura
公開日
2014-02-12
ライセンス
CC BY-NC-SA 4.0

コメント