0

application.html.erbいくつかのjqueryスクリプトを使用して、レイアウトファイルでアクションをレンダリングしてモーダルボックスとして表示しようとしています。使用できると聞いたことがrender :template => 'spots/new'ありますが、このメソッドはアクションをレンダリングするのではなく、単なるビュー ファイルをレンダリングしているようです。

スポット#新しい

def new
  @spot = Spot.new
end

new.html.erb

<%= form_for(@spot) do |f| %>
...
<% end %>

問題は、でレンダリングしようとするspots#newrender :template => 'spots/new'undefined method 'model_name' for NilClass:Classエラーが発生することです。私が間違っていることを知っていますか?前もって感謝します

4

1 に答える 1

1

ビュー テンプレートをレンダリングするだけで、render :template => 'spots/new'は呼び出されませんspots#new。テンプレートをレンダリングする前に @spot インスタンス変数を作成する必要があります。

あなたの場合、おそらく次のコードが機能します。

<% @spot ||= Spot.new %>
<%= form_for(@spot) do |f| %>
...
<% end %>
于 2012-08-06T08:41:32.320 に答える