【问题标题】:Rails: How to model following logicRails:如何建模以下逻辑
【发布时间】:2018-05-19 14:01:13
【问题描述】:

我有一个名为 Item 的模型,它属于 Report。

class Item < ApplicationRecord
 belongs_to :report
end

对于我的项目,我想要一个名为 item_category 的属性(除了其他属性)。

t.string "item_category"

我将有一些标准类别,这些类别将与它们相关联。

我的问题是: 我应该有另外两个类别和税收模型,并加载将作为我的项目类别属性选项创建的可用类别吗? (或者 Tax 应该是 Category 模型的属性,或者都不是)

一段时间后,可以添加/删除另一个类别,与税相同,我希望它尽可能模块化,而不是每次我想删除/添加类别/税时都进行更改。 我应该如何处理它?

【问题讨论】:

    标签: ruby-on-rails ruby database activerecord database-design


    【解决方案1】:

    这实际上取决于类别更改的频率。如果税 + 类别对是常数,那么我建议在代码中将其添加为常数(哈希,也许,结构为 {“类别”:“税”})。如果税收经常变化,那么制作另一个Category 模型并将您的税收+类别内容存储在那里更有意义。

    根据您的描述,您似乎不需要单独的 Tax 模型(我假设您在那里只有 % 的数量)。这是基于 Category 只有一种税的假设。

    根据您提供的信息,我只能提出这些建议。但最优化的方法很大程度上取决于对业务逻辑的更详细描述

    【讨论】:

    • 税费和类别不应经常更改(如果需要,在 6 个月的时间线内更改一次或两次)。忘了添加 - 我想添加对管理员的访问权限(在 admin rails 中)以更改它们 - 也许单独的 Category 模型适合这个?
    • 是的,如果您希望其他人能够更改它们,则必须使用 Category 模型。
    【解决方案2】:

    我建议模型

    • 型号:Categorytax
      • 类别:字符串
      • taxProcent:整数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多