繁体   English   中英

如何使用link_to转到子域

[英]How to use link_to to go to a subdomain

我无法使用link_to转到我的帖子/索引页面。 我有以下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指向的实际页面)时,链接有效,但是当我放置在任何其他页面(例如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.rbconfig/environments/production.rbconfig/environments/development.rb config变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM