如何使用 link_to 转到子域
How to use link_to to go to a subdomain
我在使用 link_to 转到我的 posts/index 页面时遇到问题。我有以下 link_to:
<%= link_to('NEWS', posts_path(subdomain:"news"),:class=>'navtext',:style=>"color:#bfbebc!important;") %>
我的路线:
resources :posts , constraints: { subdomain: 'news' }
当我在 http://news.lvh.me:3000/posts(link_to 所指的实际页面)时,link 有效,但是当我放置在任何其他页面(例如,root_path) 它不起作用。我收到 No route matches [GET] "/posts"
错误,我认为这意味着子域未在我的 link_to 中传递。关于如何做到这一点的任何想法?谢谢。
尝试 posts_url
,而不是 posts_path
。
即使没有 (subdomain:"news")
,我的项目也能正常工作。直接用posts_url
就可以了。
如果没有其他效果,您可以完全跳过帮助程序:
<%= link_to('NEWS', subdomain_link,:class=>'navtext',:style=>"color:#bfbebc!important;") %>
为了使其在开发和生产中都能正常工作,您可以在 application_helper.rb
:
中编写一个辅助方法
def subdomain_link
Rails.env.development? ? '//whatever.localhost:3000' : '//news.whatever.com'
end
更进一步,您可以配置 subdomain_link
接受字符串作为参数并将其插入到域字符串中。另一种方法是在 config/environments/development.rb
和 config/environments/production.rb
.
中配置一个 config
变量
我在使用 link_to 转到我的 posts/index 页面时遇到问题。我有以下 link_to:
<%= link_to('NEWS', posts_path(subdomain:"news"),:class=>'navtext',:style=>"color:#bfbebc!important;") %>
我的路线:
resources :posts , constraints: { subdomain: 'news' }
当我在 http://news.lvh.me:3000/posts(link_to 所指的实际页面)时,link 有效,但是当我放置在任何其他页面(例如,root_path) 它不起作用。我收到 No route matches [GET] "/posts"
错误,我认为这意味着子域未在我的 link_to 中传递。关于如何做到这一点的任何想法?谢谢。
尝试 posts_url
,而不是 posts_path
。
即使没有 (subdomain:"news")
,我的项目也能正常工作。直接用posts_url
就可以了。
如果没有其他效果,您可以完全跳过帮助程序:
<%= link_to('NEWS', subdomain_link,:class=>'navtext',:style=>"color:#bfbebc!important;") %>
为了使其在开发和生产中都能正常工作,您可以在 application_helper.rb
:
def subdomain_link
Rails.env.development? ? '//whatever.localhost:3000' : '//news.whatever.com'
end
更进一步,您可以配置 subdomain_link
接受字符串作为参数并将其插入到域字符串中。另一种方法是在 config/environments/development.rb
和 config/environments/production.rb
.
config
变量