Задать вопрос
@Jowan

Как грамотно сделать статус заказа?

Предположим, существует модель Order.
Как грамотно организовать статус заказа: добавить boolean поле к этой модели (Обработан/Не обработан). Или же создавать отдельную ассоциацию, например, has_one :status и работать с ней как с одтельным маленьким ресурсом, т.е огранизовать create/destroy экшны в отдельном контроллере ?
  • Вопрос задан
  • 362 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
  • Хороший программист
    Интенсив по Ruby on Rails
    5 месяцев
    Далее
  • Thinknetica
    Оптимизация Ruby/Rails-приложений
    9 недель
    Далее
Решения вопроса 1
Jeiwan
@Jeiwan
Если статусов будет только два (Обработан/Не обработан), то достаточно булеана.
Если статусов будет много, то лучше прикрутить state-machine (AASM/Workflow). В этом случае можно будет сделать, чтобы на в разных статусах были доступны разные действия с заказом.
Если статусов будет много, но стейт-машина избыточна (или лень возиться с ней), то можно воспользоваться стандартной рельсовой фичей enum (edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html).

Создавать отдельную модель как-то совсем избыточно. Только если там ещё какой-то функционал будет, но сходу придумать какой-то пример не могу.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы