我正在构建一个Grails应用程序,该应用程序将具有多个类似的网站(每个网站都有自己的域名),代码相同但设计和配置不同。 (想想博主)
在没有太多黑客攻击的情况下,在单个应用上使用不同视图甚至某些不同逻辑的最佳方法是什么?
我是Grails的新手,我想到的方法是一直检查域名是什么,并提供正确的控制器/视图。还有更好的方法吗?
答案 0 :(得分:2)
我会选择MultiTenant plugin。你提到视图和逻辑不同,但我猜测最不同的是数据?使用MultiTenant可以干净地分离每个站点的数据而不会产生太多的麻烦,如果您将视图和逻辑的配置存储在数据库中,您也可以在每个站点中获得唯一的。
我认为MultiTenant正在更新到最新的Grails版本,至少我已经看到了Grails邮件列表中提到的内容。我认为你需要在那之前使用1.2版本。
我正在使用Hibernate Filter插件执行类似于单独数据的操作。我的观点是相同的,但我通过首先查看消息“SITE-A.hello.world”来获得每个站点的文本和消息,如果没有找到,则检索到默认消息“hello.world”。只是为了让您了解如何自定义视图,但您可能需要进一步了解视图...