Построение пути к контроллеру полиморфной модели с помощью has_many

StackOverflow https://stackoverflow.com/questions/2104047

Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top