如何在Rails 3中生成带尾部斜杠的链接?

时间:2011-06-26 07:27:51

标签: ruby-on-rails ruby ruby-on-rails-3 url slash

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

我有路线:

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

在视图文件中我有:

link_to 'Companies', companies_path

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

我想在网址末尾加斜线。有可能吗?

4 个答案:

答案 0 :(得分:38)

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

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

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

答案 1 :(得分:23)

只需按以下步骤操作:

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

Documentation here.

答案 2 :(得分: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/

答案 3 :(得分:0)

对于rails 3.2:

Rails.application.routes.default_url_options[:trailing_slash]= true