2017-09-13 62 views
0

我無法使用link_to轉到我的文章/索引頁面。我有以下的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中傳遞。關於如何做到這一點的任何想法?謝謝。

回答

1

嘗試posts_url而不是posts_path

即使沒有(subdomain:"news"),我的項目也能正常工作。直接使用posts_url即可。

1

如果沒有別的工作,你可以只完全跳過助手:

<%= 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.rb中配置一個config變量。

+0

這是爲了生產嗎?我希望能爲本地和產品提供支持。雖然謝謝:) – Acrux