【问题标题】:rails 3 - app design question - models and controllersrails 3 - 应用程序设计问题 - 模型和控制器
【发布时间】:2010-06-21 10:07:50
【问题描述】:

我正在构建只显示各种类别的产品的小应用程序。并且永远不会显示没有产品的类别。 到目前为止,我有两个模型 - 产品和类别,想知道我是否真的需要专用于类别模型的控制器?到目前为止,我只能看到一个优势 - 呈现类别的集合(部分)。但它也可以通过产品来完成。我想保持代码尽可能小。只是想知道在这种情况下最好的方法是什么,rails 3 中的路由和资源呢? 非常感谢您的任何建议。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    我认为您应该保留控制器,原因如下:

    1) 维护类别,可能需要实现基本的 CRUD 功能,因此这是必需的。

    2) 如果其他人必须在以后维护代码,如果所有基本细节都符合预期,对他们来说会容易得多。发现丢失的控制器可能会开始引起开发人员的怀疑,即以后还会发现什么其他奇怪的东西。

    3) 不包括控制器会小多少?它不会有很大的不同,因此为了清楚起见,最好将其包括在内。

    【讨论】:

    • CRUD 在这里很重要。您将如何编辑类别?
    • 非常感谢!我认为现在您是对的,并且将包括控制器。这个想法是“类别”将是只读的。但是在您的 cmets 之后,我肯定会为每个模型添加控制器。
    【解决方案2】:

    您不需要类别控制器来添加新类别或删除未使用的类别吗?

    在较早的步骤中尝试“使代码尽可能小”通常会使您的代码在以后的开发步骤中变得混乱。

    【讨论】:

    • 非常感谢我会添加一个控制器。
    【解决方案3】:

    仍然在同一个主题和 CRUD 中。

    看起来我不需要对类别模型进行 CRUD。我不打算显示或管理它,因为它将是纯静态数据(仍在数据库中),但只播种一次。因此,类别控制器会带来什么好处?

    在我的应用程序中,我只会在类别内显示产品 - 是否有可能没有类别控制器 - 我正在考虑像 /Category/1/Product/1 这样的有效 URL,甚至将其简化为 Product/1、Product/ 2 但仍然使用 Category 在类别之间导航。

    有什么建议或例子吗? 谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多