轨道获取控制器操作 URL



我有一个动作,我已经在routes.rb中定义了它

resources :statistics, only: [] do
  get 'group_report/:id', to: 'statistics#group_report', as: 'group_report'
end

然后在模型中的方法中,我想返回完整的 URL。

因此,我写了这个方法

root_url + group_report_statistics_path(id)

结果是"http://localhost:3000//statistics/group_report/DHo6qzUzYXw"

我认为这是一种肮脏的方式,我也需要处理双斜杠。

Rails 是否提供了一些有用的方法,我可以直接获取操作的完整 URL?

Rails 为所有路由提供了路径和 url 帮助程序。

因此,如果您使用 group_report_statistics_url(id) ,您将获得完整的 URL。

有关详细说明,请参阅 Rails 上的路径和 URL 帮助程序指南。

试试这个

File.join(root_url + group_report_statistics_path(id))

 group_report_statistics_url(id)

最新更新