Разоблачение определенного действия вложенного маршрута
Используя это в качестве примера: 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
действие в вашем посте контролера.