2014-06-26 80 views
0

我無法設置子域的根路徑。Rails 4靜態子域

這是我routes.rb部分:

constraints subdomain: 'blog' do 
    scope :module => "blog", :as => "blog" do 
    resources :posts 
    end 
end 

root 'statics#index' 

當我參觀blog.example.com我有static#index行動響應和來訪blog.example.com/posts時得到posts#index

我想爲blog.example.com設置指向帖子#索引的根路徑。

這種無影響:

match '/' => 'posts#index', :constraints => { :subdomain => 'blog' }, via: [:get] 
+0

你關心你的routes.rb文件中的順序嗎? Rails將採用第一條匹配路線。因此,在**約束路線之後,總是要放置更多的一般路線** –

+0

是的,例如,'main'根是** routes.rb **中的最後一條記錄** –

回答

0

This作品我爲每個子域不同的命名空間。

0

我相信你應該仍然能夠在constraints塊內調用root

constraints subdomain: 'blog' do 
    root :to => 'posts#index' # Perhaps this needs to be `blog/posts#index`? 

    scope :module => "blog", :as => "blog" do 
    resources :posts 
    end 
end 

root 'statics#index' 
+0

完全不工作:當我跑步時rails服務器我有錯誤: '未捕獲的異常:無效的路由名稱,已在使用:'root' 您可能已經使用「:as」選項定義了兩個具有相同名稱的路由,或者您可能正在重寫路由已由具有相同命名的資源定義。對於後者,您可以限制使用「resources」創建的路由,如下所示: http:// guides.rubyonrails.org/routing.html#restrictting-the-routes-created' 當我使用'root:to = >'posts#index',:as =>「blog」'我可以啓動rails-server,但指向statics#index的blog.example.com –