Построение полиморфной модели пути контроллера с помощью has_many - PullRequest
2 голосов
/ 20 января 2010

У меня есть полиморфная модель Комментарий, который может быть связан со многими типами комментируемых. в моих маршрутах, например, у меня есть:

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

все работает нормально, единственная проблема - генерировать пути. В моих представлениях / контроллере есть элемент @commentable, который я извлекаю из before_filter.

Ссылки на [@commentable, @comment] работают нормально, например, формы, показать или уничтожить. но ссылки на новые и редактировать перепутаны ... comments_path (@commentable, @comment) не работает, например.

как я могу построить этот динамический путь в моих представлениях?

особенно пути edit_ и new_

1 Ответ

8 голосов
/ 20 января 2010

Для этого я использую polymorphic_path, который требует: action для: new и: edit, вот так:

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

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

...