Rails:如何提及get和post方法的相同路由?

时间:2013-10-11 12:06:16

标签: ruby-on-rails

我正在使用rails 4,我第一次使用它。
我对获取和发布请求采取相同的行动,我知道我可以按照以下方式执行此操作 post '/auto-links', to: 'main#auto_links'
get '/auto-links', to: 'main#auto_links'

但我想知道这是唯一的方法吗?
我尝试使用match '/auto-links' => 'main#auto_links',但它会出现以下错误。

如果没有指定HTTP方法,则不应在路由器中使用match方法。如果要将操作公开给GET和POST,请添加via: [:get, :post]选项。如果您想将您的操作暴露给GET,请在路由器中使用get:而不是:匹配“controller#action”执行:get“controller#action”

还有其他方法只能编写一个语句来定义get和post方法的路由吗?

3 个答案:

答案 0 :(得分:3)

警告只是告诉你:

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

答案 1 :(得分:0)

这是单行

的方法
match 'post/:id' => 'posts#show', via: [:get, :post]

答案 2 :(得分:0)

match '/auto-links', to: 'main#auto_links', via: [:get, :post]