私のアセットにはmaps.js.erb
、基本的に次の(デバッグ)コンテンツのみを含む、というファイルがあります。
alert("<%= @map.width %>");
このJSファイルはshow.html.erb
、マップに属するビューを介してロードされます。
<%= javascript_include_tag params[:controller] %>
<h1><%= @map.title %></h1>
…
HTMLファイル自体は、コントローラーで定義されている/maps/1/
ため、たとえば参照するときにマップのタイトルを表示します。@map
ただし、JSファイルを含めるとすぐに、次のエラーが発生します。
Maps#showのNoMethodError
…/app/views/maps/show.html.erb
行#1が上がった場所を示す:nil:NilClassの未定義メソッド'title'(in
…/app/assets/javascripts/maps.js.erb
)
- なぜファイル
@map
で利用できないのjs.erb
ですか? - コントローラで定義されているこのインスタンス変数に他にアクセスするにはどうすればよいですか?