: любой вариант для рельсов 3 маршрута
В rails 2 вы можете использовать: любую опцию для определения настраиваемого маршрута, который отвечает на любой метод запроса, например.
map.resources :items, :member => {:erase => :any}
rails 3, похоже, не поддерживает: любой параметр
resources :items do
get :erase, :on => :member # works
any :erase, :on => :member # doesn't work
end
Кто-нибудь знает, была ли эта опция удалена или просто переименована?
Ответы
Ответ 1
От поиска и просмотра действий get
, post
, put
и delete
на самом деле в ActionDispatch
, я думаю, все, что вам нужно сделать, это match
. Итак:
resources :items do
get :erase, :on => :member
match :erase, :on => :member
end
Я не думаю, что синтаксис для соответствия действительно документирован, но маршруты, которые он создает, по крайней мере для меня, что вы ожидаете от метода all
Ответ 2
Хороший вопрос.
Глядя на Руководство по маршрутизации Edge Rails и Rails 3 источник, похоже, что он не поддерживается. Вы можете поднять билет в Rails Lighthouse (я не смог найти существующий для этого).
Ответ 3
Матч будет работать, но не в определении ресурсов, к сожалению. Я скорее желаю, чтобы они вернули способ определить get/post, по крайней мере, вместе.