2012-04-14 17 views
0

問題はとても簡単なようですが、修正できないようです。私は明らかな何かを見逃しているに違いないが、本当に助けに感謝するだろう!Ruby on Railsの未定義メソッド `discussions_path ' - ネストされたリソース、1対多の関係

undefined method `discussions_path' for #<#<Class:0x000001032e90d8>:0x000001030f1168> 

ルートファイル:

resources :forums do 
    resources :discussions 
end 

議論/ _form.html.erbファイル:

<%= form_for [@forum, @discussion] do |f| %> 
<%= f.error_messages %> 
<p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
</p> 
<p><%= f.submit "Submit" %></p> 
<% end %> 

ディスカッションコントローラ新しいアクション:

を表示さ

エラーメッセージ

def new 
    @forum = Forum.find_by_permalink(params[:id]) 
    @discussion = Discussion.new 
end 

これは私が今(ターミナルで)取得しています完全なエラーです:あなたはフォーラムおよびディスカッションでform_forへの配列を渡す必要があるネストされたリソースについて

Started GET "/forums/general-chat/discussions/new" for 127.0.0.1 at 2012-04-14 18:35:28 +0100 
Processing by DiscussionsController#new as HTML 
Parameters: {"forum_id"=>"general-chat"} 
Forum Load (1.6ms) SELECT "forums".* FROM "forums" WHERE "forums"."permalink" IS NULL LIMIT 1 
Rendered layouts/_content_full_start.html.erb (0.0ms) 
Rendered discussions/_form.html.erb (574.4ms) 
Rendered discussions/new.html.erb within layouts/application (575.9ms) 
Completed 500 Internal Server Error in 581ms 

答えて

2

を、例えばお使いのコントローラで@forumを設定し、ビューの使用中:

<%= form_for [@forum, @discussion] do |f| %> 

rails docsから:

If your resource has associations defined, for example, you want to add comments 
to the document given that the routes are set correctly: 
<%= form_for([@document, @comment]) do |f| %> 
... 
<% end %> 
Where @document = Document.find(params[:id]) and @comment = Comment.new. 
+0

うーん、私は両方を渡すと、ケースになると思いましたが、私は同じを取得しているように見えますエラー:未定義のメソッドdiscussion_path。私の_form.html.erbはこれで始まります: '<%= form_for [@forum、@discussion] do | f | %> 'とディスカッションコントローラーの新しいアクションは、次のようになりました:' def new @discussion = Discussion.new @forum = Forum.find_by_permalink(params [:id]) end' - 私はpermalinksの代わりにURLのID。 – Kobius

+2

'@ forum'がnilに設定されていませんか? – pjumble

+0

私はそうは思わない - しかし、フォーラムの/一般的なチャット/ディスカッション/新/ – Kobius

関連する問題