私のアセットには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ですか? - コントローラで定義されているこのインスタンス変数に他にアクセスするにはどうすればよいですか?