2011-08-20 51 views
4

如何防止用户使用GET请求在我的控制器中调用方法“doAction”?我只希望使用POST请求来调用它?如何在Rails中只允许POST请求?

我听说我需要使用“验证”,但我不确定在哪里放置该代码,或者我需要如何使用它。

回答

7

您可以指定您的routes.rb中的任何操作都允许使用哪些方法。

轨道2:

map.connect '/posts/doAction', :controller => 'posts, 
           :action  => 'doAction', 
           :conditions => { :method => :post } 

导轨3:

match 'posts/doAction' => "posts#doAction', :via => :post 

post 'posts/doAction', :to => "posts#doAction'