Маршрутизация Rails: ресурсы только с настраиваемыми действиями
У меня есть NotificationsController
, в котором у меня есть только действие clear
.
Я хотел бы получить доступ к этому действию, выполнив POST/уведомления/очистить
Поэтому я написал это в своем маршрутизаторе:
resources :notifications, :only => [] do
collection do
post :clear
end
end
Есть ли более чистый способ достичь этого? я думал
scope :notifications do
post :clear
end
сделаю это, но у меня есть missing controller
ошибка missing controller
, потому что - я думаю - он ищет clear
контроллер.
Ответы
Ответ 1
Если вы используете область видимости, вы должны добавить, что контроллер выглядит
scope :notifications, :controller => 'notifications' do
post 'clear'
end
Или просто используйте пространство имен
namespace :notifications do
post 'clear'
end
Ответ 2
post "notifications/clear" => "notifications#clear"