2011-06-22 59 views
1

是否可以動態更改控制器的使用路徑? Ryan Bates展示瞭如何在這裏更改view_paths:http://railscasts.com/episodes/269-template-inheritanceRails 3.1基於子域的不同路徑的負載控制器

我正在製作一個CMS,用戶可以在其中創建網站並輸入自己的子域。如果沒有子域名,我希望「/」指向「public#welcome」,但如果有子域名,我希望它指向「sites/public#welcome」。

我正在使用Rails 3.1,如果這有什麼區別。

回答

1

我想通了:

constraints(:subdomain => /.+/) do 
    scope :module => "sites" do 
     root :to => 'public#welcome' 
    end 
    end 

    root :to => 'public#welcome' 

現在,當用戶訪問「/」Sites :: PublicController將用於存在子域名的情況,但如果沒有子域名存在,則僅使用PublicController。添加scope :module => "sites" do...end可以讓我的路線文件簡單易處理。

1

你應該能夠解決使用約束,如果我沒有記錯這種情況下(這可能是我,因爲我還沒有真正嘗試過但以下):

constraints(:subdomain => /.+/) do 
    root :to => 'sites/public#welcome' 
end 

root :to => 'public#welcome' 
+0

我該如何添加資源...說Post資源?在/ posts和/ sites/posts處會有crud操作? – tybro0103

+0

他們會使用不同的控制器? – polarblau

+0

是............ – tybro0103

相關問題