13

我正在将现有网站从 PHP 移植到 Ruby on Rails 3,我必须保持 URL 不变。

我有路线:

get 'companies/' => 'companies#index', :as => :companies

在视图文件中,我有:

link_to 'Companies', companies_path

这会生成 URL“http://website.com/companies”而不是“http://website.com/companies/”。

我想要网址末尾的斜杠。是否可以?

4

4 回答 4

37

您可以将其添加到您的 application.rb:

config.action_controller.default_url_options = { :trailing_slash => true }

这样,所有路由都将自动生成带有斜杠,而无需修改项目中的每个链接。

于 2012-01-31T23:15:41.533 回答
23

只需执行以下操作:

link_to 'Companies', companies_path(:trailing_slash => true)

文档在这里。

于 2011-06-26T08:38:18.787 回答
3

我找不到任何引用,但添加trainling_slash: true到路由定义中也可以(并且避免重复自己)。

get 'companies/' => 'companies#index', :as => :companies, :trailing_slash => true

这是用 Rails 3.2.13 测试的:

rails c
1.9.3p327 :005 > app.companies_path
=> "http://www.example.com/companies/
于 2013-08-05T13:11:20.513 回答
0

对于轨道 3.2:

Rails.application.routes.default_url_options[:trailing_slash]= true
于 2013-06-06T15:49:29.780 回答