2013-10-11 27 views
1

我正在使用rails 4,我第一次使用它。
我有GET和POST请求同一个动作,我知道我可以如下
post '/auto-links', to: 'main#auto_links'
get '/auto-links', to: 'main#auto_links'Rails:如何提及get和post方法的相同路由?

做,但我想知道这是要做到这一点的唯一途径?
我尝试使用match '/auto-links' => 'main#auto_links',但它给出了以下错误。

如果不指定HTTP方法,则不应在路由器中使用match方法。如果您想将您的操作暴露给GET和POST,请添加via: [:get, :post]选项。如果你想暴露你的行动得到的,在路由器中使用get:相反的:比赛“控制器#行动”别:得到“控制器#行动”

是否有任何其他方式只写一个语句定义路由到获取和发布方法?

回答

2

警告只是告诉你做的事:

match '/auto-links' => 'main#auto_links', via: [:get, :post] 
+0

感谢快速回复的方式,它的工作原理:) – Ketty

0

这是做在单行

match 'post/:id' => 'posts#show', via: [:get, :post] 
0
match '/auto-links', to: 'main#auto_links', via: [:get, :post]