ruby rails如何获取命名路径的路径

use*_*769 2 routes ruby-on-rails-3.2

如何获取命名路由的路径助手?

的routes.rb

match 'report/monitor_id/:monitor_id/week_ending_date/:week_ending_date' => 'report#index'
Run Code Online (Sandbox Code Playgroud)

如何获取命名路径的路径助手?当我做耙路线时,前面没有任何东西

/report/monitor_id/:monitor_id/week_ending_date/:week_ending_date(.:format)        report#index
Run Code Online (Sandbox Code Playgroud)

有没有办法获取report_monitor_id_week_ending_date_path(monitor_id,week_ending_date)?

jef*_*unt 6

您可以使用:as参数为其命名:

http://guides.rubyonrails.org/routing.html#naming-routes

例如:

match 'exit' => 'sessions#destroy', :as => :logout
Run Code Online (Sandbox Code Playgroud)

哪个应该提供帮助:

logout_path
logout_url
Run Code Online (Sandbox Code Playgroud)

不确定您希望您的路线被命名,但可能是这样的:

match 'report/monitor_id/:monitor_id/week_ending_date/:week_ending_date' => 'report#index', :as => :weekly_monitor_report
Run Code Online (Sandbox Code Playgroud)

我相信它会给你帮助程序,允许按照路由定义中指定的顺序传递参数:

weekly_monitor_report_path(:monitor_id, :week_ending_date)
weekly_monitor_report_url(:monitor_id, :week_ending_date)
Run Code Online (Sandbox Code Playgroud)