- 我建立一個應用程序,允許用戶創建自己的網站(例如,mywebsite.alexlod.com)
- 每個網站的所有者附屬和我在一起,所以我相信他們寫自己的Rails代碼
- 每一個網站應該有默認的控制器和視圖,除非這些業主的一個創建自己的
下面是我設想控制研究ers working:
我在想app/controllers/
是什麼在默認情況下,但是當在<subdomain>
頂級目錄中指定文件時,該文件將優先於默認值。
讓我舉個例子。假設我的一個網站所有者(foo.alexlod.com)想調整app/controllers/photos_controller.rb
。他們應該能夠創建foo/controllers/photos_controller.rb
,從而使用他們的控制器而不是默認值。我認爲這裏的正確方法與路由和加載路徑有關,但我是Rails和Ruby的新手,可以使用一些指導。
至於意見,我希望他們工作很多。當在<subdomain>/views/
中定義視圖或部分時,將使用該視圖而不是位於app/views/
中的缺省值。
我意識到我的計劃在這裏違反了默認的rails目錄結構。但是這種方法比每個控制器操作中的替代案例陳述更簡單。除非有更好的選擇?
謝謝,拉蒙。這個解決方案工作得很好,並且在傑夫的建議下,我也能很好地處理視圖。 – alexlod
@alexlod你是如何最終爲每個子域(動態)加載一個引擎的?我很想看到你的解決方案。 – Jimmy
@Jimmy,你不能動態加載引擎我不這麼認爲。所以我加載了每個引擎並添加了路由,以便在給定某個子域時使用正確的控制器。 – alexlod