Ruby on rails 查找rails中动作的HTML动词

Ruby on rails 查找rails中动作的HTML动词,ruby-on-rails,routing,Ruby On Rails,Routing,有没有办法查找给定控制器操作的HTML?例如,我希望能够将GET与index相关联,将PUT与update相关联。我希望能够基于路由动态地执行此操作 我可以使用controller.action_方法获取每个控制器的操作方法,但这将返回一组操作方法字符串。理想情况下,我想要的是如下形式的散列:{:action=>:verb}:method是可以传递到映射的:conditions散列的一部分。connect map.connect 'post/:id', :controller => '

有没有办法查找给定控制器操作的HTML?例如,我希望能够将GET与index相关联,将PUT与update相关联。我希望能够基于路由动态地执行此操作


我可以使用controller.action_方法获取每个控制器的操作方法,但这将返回一组操作方法字符串。理想情况下,我想要的是如下形式的散列:
{:action=>:verb}
:method
是可以传递到
映射的
:conditions
散列的一部分。connect

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

阅读rake routes任务,该任务将提供以下信息:

e、 g:


我假设这就是您想要的?

提供一个包含所有控制器、动作和相关动词的有用对象

def all_routes
    @all_routes ||= Rails.application.routes.routes.map do |route|
          { alias: route.name,
            path: route.path.spec.to_s,
            controller: route.defaults[:controller],
            action: route.defaults[:action],
            verb: route.verb.source.to_s.delete('$'+'^')
          }
    end
end

我希望从本质上查询映射以找到操作的方法。因此,在您的示例中,我希望能够从“create_comment”开始,找到一种方法:post。这确实是我正在寻找的数据,但现在我想如何获得它。我正在尝试为所有需要用户身份验证的操作生成简单的测试用例。请参阅我前面的问题:。我试图查询控制器的动作,并找到它们与哪个动词关联以生成该示例中的actions变量。/Library/Ruby/Gems/1.8/Gems/rails-2.3.2/lib/tasks/routes。rake@BryanWard我和你有同样的问题-下面终于有了一个真正的答案(仅仅两年后//使用rails 3.2+)
def all_routes
    @all_routes ||= Rails.application.routes.routes.map do |route|
          { alias: route.name,
            path: route.path.spec.to_s,
            controller: route.defaults[:controller],
            action: route.defaults[:action],
            verb: route.verb.source.to_s.delete('$'+'^')
          }
    end
end