#ruby-on-rails #routes
#ruby-on-rails #маршруты
Вопрос:
Надеюсь, это очень легко сделать, но я нигде не могу найти никаких документов по нему (вероятно, потому, что мне не хватает правильных условий поиска). В любом случае…
Я хочу, чтобы два именованных маршрута использовали один и тот же путь. Отличительной чертой между ними будет то, что один будет принимать GETs, а другой — POSTs.
Ниже то, что у меня есть на данный момент. Я пытался использовать:method arg и a:via param, но ни то, ни другое не помогает. Я также пробовал «:requirements => {:method => :get}».
map.show_current '/rounds/', :controller => :rounds, :action => :show, :method => :get
map.create '/rounds/', :controller => :rounds, :action => :create, :via => [:post, :put]
Любые предложения будут оценены, даже просто подходящий поисковый запрос.
Приветствия.
Комментарии:
1. Я думаю, что опция :conditions может помочь…
2. Что ж, как это часто бывает, я решил это вскоре после публикации этого вопроса. Вариантом, который я искал, был параметр:conditions. Итак, мои маршруты теперь выглядят следующим образом: map.show_current ‘/rounds /’, :controller => :rounds, :action => :show, :conditions => { :method => :get } map.create ‘/rounds/’, :controller => :rounds, :action => :create :conditions => { :method => :post }
Ответ №1:
Скопировал это из моего комментария, увидев, что на мой вопрос нет ответа.
Вариантом, который я искал, был параметр:conditions. Итак, мои маршруты теперь выглядят следующим образом:
map.show_current '/rounds/', :controller => :rounds, :action => :show, :conditions => { :method => :get }
map.create '/rounds/', :controller => :rounds, :action => :create :conditions => { :method => :post }