Ruby on rails 如何从Rails中的url猜出动作名称?
例如,我有一个由Ruby on rails 如何从Rails中的url猜出动作名称?,ruby-on-rails,routing,Ruby On Rails,Routing,例如,我有一个由something\u path或something\u url方法生成的url。我需要从该url中知道操作名称。您无需猜测。您可以从终端/命令提示符运行rake routes,以获取应用程序中所有路由的列表。输出包括使用的HTTP方法,以及调用的控制器和操作。如果您在视图中,可以使用 action\u name以访问处理操作 controller\u name以访问处理控制器 Rails的路由系统有两种工作方式,它识别并构建URL。 您需要识别路径方法,如以下示例所示: Ac
something\u path
或something\u url
方法生成的url。我需要从该url中知道操作名称。您无需猜测。您可以从终端/命令提示符运行rake routes
,以获取应用程序中所有路由的列表。输出包括使用的HTTP方法,以及调用的控制器和操作。如果您在视图中,可以使用
以访问处理操作action\u name
以访问处理控制器controller\u name
- Rails的路由系统有两种工作方式,它识别并构建URL。
您需要识别路径方法,如以下示例所示:
ActionController::Routing::Routes.recognize_path('/mycontroller/myaction', :method => :get)
假设URL是使用something\u path
或something\u URL
生成的,则返回:
{ :action => 'myaction', :controller => 'mycontroller' }
您可以从中提取动作部分。在Rails 3中:
Rails.application.routes.recognize_path("http://example.ltd/registrants")
=> => {:action=>"index", :controller=>"registrants"}
如果你在引擎中,事件
Events::Engine.routes.recognize_path("/registrants")
=> {:action=>"index", :controller=>"events/registrants"}