使用has_many构建多态模型控制器路径

时间:2010-01-20 18:52:22

标签: ruby-on-rails path polymorphic-associations

我有一个多态模型Comment,可以与许多类型的commentable相关。 在我的溃败中,例如我有:

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

一切正常,唯一的问题是生成路径。 我在我的视图/控制器中有@commentable项,我从before_filter中检索。

指向[@commentable,@ comment]的链接可以正常工作,例如表单,显示或销毁。 但链接到新的和编辑是混乱... 例如,comments_path(@commentable,@ comment)不起作用。

我怎样才能在我的视图中构建这个动态路径?

尤其是edit_和new_路径

1 个答案:

答案 0 :(得分:8)

我使用polymorphic_path,这需要:action for:new和:edit,如下所示:

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

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