大家。我是refineryCMS的新手(也是rails)。我在本文最后总结了我的问题,以防问题描述太长。
这是我的问题: 如何使用路由(或命名空间)过滤后端内容? 例如,我的网站上有几个部门。它们具有相似的结构,但内容却不同。我想分开管理它们。说,我有部门ABC和部门EFG和部门MAIN,我想通过/ refinery / ABC和/ refinery / EFG和/ refinery(/ MAIN)来管理它们。
我怎样才能达到这样的目标?
目前我有两个想法,但不知道如何实施。
首先,我可以将每个部门创建为rails引擎,然后将它们安装在main_app上。但是,我不喜欢这个解决方案,因为它会复制许多几乎相同的表,因为每个部门的结构非常相似。而且我不熟悉创建引擎,担心性能。
我想到的第二种方法是让每个Refinery :: Pages,资源和自定义引擎模型都属于某个部门。然后我可以编写一个控制器,通过指定上面提到的“/ refinery /:department”之类的部门来过滤所有这些事情。
总之,我更喜欢第二种方式,虽然我不知道如何:
使每个模型(自定义引擎或Refinery原生模型)属于部门。特别是对于炼油厂本地的(资源,图像,页面)
在控制器过滤了我想要的内容后,如何复制炼油厂默认后端的管理渲染。
经过一番搜索后,我发现有太多的@variables可以正常过滤。有更简单的方法吗?
提前致谢!
答案 0 :(得分:0)
<强>的routes.rb 强>
试着把:
get 'refinery/:dep' => 'refinery#deps'
然后在炼油厂控制器中你的看跌期权
def deps
dep = params[:dep]
*some code*
end