【问题标题】:RoR: How to use routes to filter refinerycms backend content?RoR:如何使用路由过滤refinerycms 后端内容?
【发布时间】:2012-07-31 03:05:36
【问题描述】:

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

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

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

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

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

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

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

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

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

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

提前致谢!

【问题讨论】:

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


    【解决方案1】:

    Routes.rb
    试试把:

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

    然后在 炼油厂 控制器中您的投入

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

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 2011-06-26
      • 2014-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      • 2014-05-18
      • 2012-07-11
      相关资源
      最近更新 更多