2

多くの種類のコメント可能に関連付けることができる多態性モデル Comment があります。私のルートでは、例えば、私は持っています:

map.resources :newsitems do |news|
  news.resources :comments
end

すべてが正常に機能していますが、唯一の問題はパスを生成することです。ビュー/コントローラーに、before_filter から取得した @commentable アイテムがあります。

[@commentable, @comment] へのリンクは、フォーム、表示、または破棄のように正常に機能します。しかし、新規および編集へのリンクはめちゃくちゃです...たとえば、comments_path(@commentable, @comment) は機能しません。

ビューでこの動的パスを構築するにはどうすればよいですか?

特に edit_ パスと new_ パス

4

1 に答える 1

8

これには polymorphic_path を使用します。これには、:new と :edit の :action が必要です。

link_to("New Comment", polymorphic_path([@commentable,@comment], :action => :new))

http://api.rubyonrails.org/classes/ActionController/PolymorphicRoutes.html#M000487

于 2010-01-20T19:57:30.677 に答える