0

每个人。我是新的炼油厂CMS(和rails也是)。我在文末总结了我的问题,以防问题描述太长。

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

我怎样才能实现这样的目标?

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

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

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

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

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

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

  3. 经过一番搜索,我发现@variables 太多无法正确过滤。有没有更简单的方法?

提前致谢!

4

1 回答 1

0

Routes.rb
试试把:

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

然后在炼油厂控制器中你的放

def deps
  dep = params[:dep]
  *some code*
end
于 2012-07-31T10:08:08.203 回答