2015-02-08 65 views
0

我創建了一個Reddit類網站來學習Rails,但我使用的是子域名而不是較長的URL(例如funny.reddit.com而不是reddit.com/r/funny) 。設置URL幫助器的默認主機

對於開發,我使用http://vcap.me(重定向到本地主機)來處理子域,因爲我認爲本地主機不能與子域一起工作。

我在鏈接到這些子域名時遇到了一些困難。我能做

subreddit_url = url_for(host: "http://vcap.me", subdomain: subreddit.subdomain) 

工作得很好。但是,我不想對主機進行硬編碼,因爲我想最終推向Heroku,而主機將會不同。我試圖做類似的東西How do I set default host for url helpers in rails?,更具體

class ApplicationController < ActionController::Base 
def default_url_options 
    if Rails.env.development? 
    {:host => "http://vcap.me"} 
    else 
    {} 
    end 
end 
end 

但我url_for返回「/」,當我做

url_for(subdomain: subreddit.subdomain) 

我也試着設置only_path:假的,但它也不會做任何東西。

使用Rails 4.2 Ruby 2.2。

謝謝!

回答

-3

這並不重要,因爲無論如何您都無法在免費的Heroku應用上使用子域。