Опция:any для направляющих 3 маршрута

В направляющих 2 можно использовать: любая опция определить пользовательский маршрут, который отвечает на любой метод запроса, например.

map.resources :items, :member => {:erase => :any}

направляющие 3, кажется, не поддерживают: любая опция

resources :items do
  get :erase, :on => :member # works
  any :erase, :on => :member # doesn't work
end

кто-либо знает, была ли эта опция удалена или просто переименована?

11
задан Shripad Krishna 16 June 2010 в 12:06
поделиться

3 ответа

Хороший вопрос.

Глядя на руководство по маршрутизации Edge Rails и исходный код Rails 3 , похоже, что он не поддерживается. Вы можете поднять билет в Rails Lighthouse (я не смог найти для этого существующий).

0
ответ дан 3 December 2019 в 09:18
поделиться

Из поиска и просмотра того, что действительно делают действия get , post , put и delete в ActionDispatch , я думаю, все, что вам нужно сделать, это сопоставить . Итак:

resources :items do
  get :erase, :on => :member
  match :erase, :on => :member
end

Я не думаю, что синтаксис для match на самом деле документирован, но маршруты, которые он создает, по крайней мере для меня, являются тем, что вы ожидаете от метода all

12
ответ дан 3 December 2019 в 09:18
поделиться

Соответствие будет работать, но, к сожалению, не внутри определения ресурсов. Я бы предпочел, чтобы они вернули способ определения получения / публикации по крайней мере вместе ..

0
ответ дан 3 December 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: