- 我建立一个应用程序,允许用户创建自己的网站(例如,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