Rails 2.3.12:限制到特定HTTP谓词的路由

时间:2011-08-23 15:06:32

标签: ruby-on-rails

我有一个状态控制器,用于报告我的应用程序的运行方式。它有两个基本动作:

  1. 现在看起来怎么样?
  2. 点击所有部分以更新其状态,然后处理为#1。
  3. 路径分别为statusstatus/ping

    我想将这些仅限于GET status以及POST status/ping。当前的路由结构如下所示:

    map.connect('status',      :controller => 'status', :action => 'index')
    map.connect('status/ping', :controller => 'status', :action => 'ping')
    

    我尝试了:via:only的各种组合但没有成功。

    如何对这些路径施加动词限制?

    谢谢!

1 个答案:

答案 0 :(得分:3)

:only选项适用于Restful路由。根据{{​​3}},您正在寻找的是以下内容。

map.connect('status', :controller => 'status', :action => 'index', :conditions => { :method => :get })
map.connect('status/ping', :controller => 'status', :action => 'ping', :conditions => { :method => :post })