RoR:如何使用路由过滤refinerycms后端内容?

时间:2012-07-31 03:05:36

标签: ruby-on-rails ruby content-management-system backend refinerycms

大家。我是refineryCMS的新手(也是rails)。我在本文最后总结了我的问题,以防问题描述太长。

这是我的问题: 如何使用路由(或命名空间)过滤后端内容? 例如,我的网站上有几个部门。它们具有相似的结构,但内容却不同。我想分开管理它们。说,我有部门ABC和部门EFG和部门MAIN,我想通过/ refinery / ABC和/ refinery / EFG和/ refinery(/ MAIN)来管理它们。

我怎样才能达到这样的目标?

目前我有两个想法,但不知道如何实施。

首先,我可以将每个部门创建为rails引擎,然后将它们安装在main_app上。但是,我不喜欢这个解决方案,因为它会复制许多几乎相同的表,因为每个部门的结构非常相似。而且我不熟悉创建引擎,担心性能。

我想到的第二种方法是让每个Refinery :: Pages,资源和自定义引擎模型都属于某个部门。然后我可以编写一个控制器,通过指定上面提到的“/ refinery /:department”之类的部门来过滤所有这些事情。

总之,我更喜欢第二种方式,虽然我不知道如何:

  1. 使每个模型(自定义引擎或Refinery原生模型)属于部门。特别是对于炼油厂本地的(资源,图像,页面)

  2. 在控制器过滤了我想要的内容后,如何复制炼油厂默认后端的管理渲染。

  3. 经过一番搜索后,我发现有太多的@variables可以正常过滤。有更简单的方法吗?

  4. 提前致谢!

1 个答案:

答案 0 :(得分:0)

<强>的routes.rb
试着把:

get 'refinery/:dep' => 'refinery#deps'

然后在炼油厂控制器中你的看跌期权

def deps
  dep = params[:dep]
  *some code*
end