Разоблачение определенного действия вложенного маршрута

Используя это в качестве примера: Post has_many comments Комментарий принадлежит_ к записи

У меня есть маршрут, который выглядит так:

resources :posts do
  resources :comments
end

Как мне создать маршрут, который выставляет комментарии #index?

Примером использования будет... Я хочу перечислить ВСЕ комментарии в системе на странице. По сути, использование ресурса комментариев, как будто он не является вложенным, когда пользователь нажимает / комментирует

благодарю вас!

1 ответ

Решение

Попробуй это.

resources :posts do
  resources :comments, :except => :index
end
match 'comments' => 'comments#index', :as => :comments

Тем не менее, я обычно стараюсь избегать таких маршрутов, потому что мне нравится аккуратный RESTful-файл маршрутов, но иногда это не помогает.

Второй вариант:

resources :posts do
  resources :comments, :except => :index
  get :comments, :on => :collection
end

Во втором варианте вы бы хотели удалить index действие из контроллера комментариев и создать comments действие в вашем посте контролера.

Другие вопросы по тегам