【问题标题】:Splitting a large data model with correctly with Rails使用 Rails 正确拆分大型数据模型
【发布时间】:2011-11-16 09:08:40
【问题描述】:

我正在开展一个项目,我们提供一个非常简单的土制 CMS 类型后端。它允许您编辑/删除页面模型上的各种属性。

与任何其他 CMS 类似,有相当多的可编辑字段。我们希望将它们分成 3 个逻辑部分,以方便我们的客户使用。

我们想要一个用于编辑页面内容的页面,然后我们想要一个用于上传/更改页面图像的页面,然后我们想要一个页面来上传页面的元数据。

目前我有一个 PageController 并且所有三个部分都只是更新 Page 模型,但问题是我如何最好地使用 Rails 控制器以一种对其他 Rails 开发人员来说显而易见的方式来做到这一点?

页面控制器上是否只有 3 个方法,一个用于内容,一个用于图像,一个用于元数据?

我是否要创建一个名为 CMSController 之类的新控制器并在其上有 3 个方法,然后只保留我的 PageController 来执行通常的 RESTful 繁重工作,例如实际保存和创建新页面?

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 model-view-controller


    【解决方案1】:

    我是否创建一个名为 CMSController 之类的新控制器和 对此有 3 种方法,然后只保留我的 PageController 来执行 通常的 RESTful 繁重的工作,例如实际保存和创建新的 页面?

    最好有一个CmsControllerPublicController 来处理你的root_path 任何你想在那里处理的操作。

    read up on Member and Collection routes;你可以在PagesController 下拥有尽可能多的这些来实现你想要的。只需确保这些方法是私有的,这样它们就不能公开访问——尽管如果您的管理员被命名空间并相应地强化,这将是一个有争议的问题。您可以在 one of my projects 中查看命名空间管理员的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 2017-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多