我有一个Ruby on Rails 4
网站,我想在domain.com
和mysubdomain.domain.com
中拆分。我正在使用lvh.me
进行测试。
我的路线档案:
MyApp::Application.routes.draw do
scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do
get "first_page" => "pages#first_page", :as => :first_page
constraints subdomain: "mysubdomain" do
get "second_page" => "pages#second_page", :as => :second_page
end
root :to => 'pages#index'
end
end
在我的视图文件中,我有:
= link_to "First page", first_page_path
= link_to "Second page", second_page_path(:subdomain => "mysubdomain")
但显然忽略了subdomain
参数。相反,所有链接都以request.subdomain
为前缀。
所以,例如,我在:
http://mysubdomain.lvh.me:3000/second_page
然后网页上的链接如下:
http://mysubdomain.lvh.me:3000/first_page # Not as intended
http://mysubdomain.lvh.me:3000/second_page # As intended
如何解决这个问题?
答案 0 :(得分:2)
问题是您使用_path
帮助程序而不是_url
帮助程序。前者生成相对路径,因此站点将使用当前主机,后者生成完整URL。
= link_to "Second page", second_page_url(subdomain: "mysubdomain")
应该做你正在寻找的事情。