相关疑难解决方法(0)

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

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

我有路线:

get 'companies/' => 'companies#index', :as => :companies
Run Code Online (Sandbox Code Playgroud)

在视图文件中,我有:

link_to 'Companies', companies_path
Run Code Online (Sandbox Code Playgroud)

这会生成URL"http://website.com/companies"而不是"http://website.com/companies/".

我希望网址末尾的斜线.可能吗?

ruby url ruby-on-rails slash ruby-on-rails-3

13
推荐指数
2
解决办法
5919
查看次数

初始化时设置default_url_options

我需要在我的rails应用程序中的某个环境中强制主机.

我可以通过包括使覆盖工作

  def default_url_options(opts={})
   opts.merge({:host => 'stg.my-host.com'})
  end
Run Code Online (Sandbox Code Playgroud)

在app/controllers/application.rb中

但有没有办法在初始化时设置它,最好是在config/environments/...文件中?我想将条件env逻辑保留在控制器之外.

但是,当我尝试

   config.action_controller.default_url_options = { ... }
Run Code Online (Sandbox Code Playgroud)

甚至

ActionController::Base.default_url_options = { ... }
Run Code Online (Sandbox Code Playgroud)

我得到"未定义的方法",即使在config.after_initialize {...}中包装

有什么想法吗?

boot initialization ruby-on-rails actioncontroller

4
推荐指数
1
解决办法
9291
查看次数

在Rails 3中重定向到规范路由而不会出现斜线

在Rails 3上,我试图从不带斜杠的URL重定向到具有斜杠的规范URL。

match "/test", :to => redirect("/test/")
Run Code Online (Sandbox Code Playgroud)

但是,以上路由同时匹配/ test和/ test /,从而导致重定向循环。

如何使其仅与没有斜杠的版本匹配?

redirect routing ruby-on-rails canonical-link ruby-on-rails-3

4
推荐指数
1
解决办法
3859
查看次数