在Rails中相同路由的POST和GET请求的不同控制器操作

时间:2011-05-10 13:43:31

标签: ruby-on-rails routing controller action

我想将相同的地址(例如'http:// server / path')路由到不同的控制器操作,具体取决于请求类型,无论是GET还是POST请求。

我怎样才能在Rails中做到这一点?

谢谢!

3 个答案:

答案 0 :(得分:17)

get "/path" => "controller#get_action"
post "/path" => "controller#post_action"

答案 1 :(得分:6)

我认为你可以这样做:

match '/path' => 'controller#action', :via => :get
match '/path' => 'controller#another_action', :via => :post

答案 2 :(得分:-1)

使用Rails脚手架生成资源,您将看到它应该如何完成:

./script/generate scaffold Person name:string

修改

得到了投票,所以也许我应该扩大我的答案。脚手架演示了如何构建RESTful资源。按照惯例,POST将映射到控制器中的create方法,GET将映射到索引方法(如果存在ID,则显示show方法)等等。所有需要添加到routes.rb的是:

resources :people