Rails: как моделировать следующую логику - PullRequest
0 голосов
/ 19 мая 2018

У меня есть модель Item, которая принадлежит Report.

class Item < ApplicationRecord
 belongs_to :report
end

Для моего Item я хочу иметь атрибут item_category (помимо других атрибутов).

t.string "item_category"

У меня будут некоторые стандартные категории, с которыми будет связан налог.

У меня вопрос: нужно ли мне иметь еще две модели для категории и налога и загрузить доступные категории, которые будут созданы в качестве параметров для моегоАтрибут категории товара?(или налог должен быть атрибутом для модели категории, или ни одной из них)

Через некоторое время можно добавить / удалить другую категорию, то же самое для налога, и я хочу, чтобы это было как можно более модульным,не вносить изменения каждый раз, когда я хочу удалить / добавить категорию / налог.Как мне к нему подойти?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Я предлагаю модель

  • Модель: Categorytax
    • Категория: строка
    • taxProcent: целое число
0 голосов
/ 19 мая 2018

Это действительно зависит от того, как часто будут меняться категории.Если пара налог + категория является константой, то я бы предложил добавить это в коде как константу (возможно, Hash структурирован как {"category": "tax"}).Если налоги будут часто меняться, тогда имеет смысл создать другую модель Category и сохранить там свой налог + материал категории.

Из вашего описания не похоже, что вам нужна отдельная модель Tax(Я предполагаю, что у вас будет только% суммы).Это основано на предположении, что Категория имеет только один налог.

Это все, что я могу предложить с информацией, которую вы предоставили.Но наиболее оптимальный метод мета-ларглы зависит от более подробного описания вашей бизнес-логики

...