2011-11-15 14 views
0

私のRailsサイトでは、ユーザーが売りたいアイテムのListingsを投稿しています。他のユーザーがMessageThreadを作成する必要がありますされ、これらのリストを参照し、販売者に連絡するためのリンクをクリックすることができます:部分的にネストされたリソースフルルートを設定するにはどうすればよいですか?

# MessageThread properties... 
listing_id 
poster_id # (listing_id's owner.. this is a shortcut for to avoid joins on the database) 
sender_id 
body # (text of message) 

MessageThreadsListingの文脈の外で作成しないので、私は彼らの機知にルートを入れ子になったんです。ただし、Listingコンテキストを作成後に表示/編集する必要はありません。newアクションとcreateアクションでのみ必要です。 ...

resources :message_threads, :only => [:show, :destroy] 

resources :listings do 
    resources :message_threads, :only => [:new, :create] 
end 

私はMessageThreadsControllerためnewアクションビューでform_for構文を見つけ出すように見えることはできません私はform_for @message_threadを行うが、それは動作していない:私はこのようにそれを設定します。このオブジェクトを設定するのは正しい方法ですか?ルートを入れ子にするのではなく、リソースの多いルートを使用しないようにするか、URLのパラメータとしてリストIDを渡す必要がありますか?または、常にリストの下のmessage_threadを参照しますか?

答えて

1

この動作するはずです:

form_for @message_thread, :url => listing_message_threads_path(@listing) 

あなたは常に新しいリンクが

new_listing_message_threads_path(@listing) 
+0

それは働くだろう

rake routes | grep message_thread 

コマンドラインでこれを実行することができます!ありがとうございました。 –

関連する問題