Как вы обрабатываете столбцы типа / кода (не STI) с AR? - PullRequest
0 голосов
/ 08 марта 2011

Я обсуждал этот паттерн с коллегой, и у каждого, похоже, свой взгляд на это. Мысль об использовании атрибута type / code кажется довольно распространенным случаем, для него нет стандартизированного решения. Интересно, что у тебя?

Допустим, в модели ActiveRecord имеется столбец типа / кода наследования, не относящегося к одной таблице. Что вы используете для указания типов и создания средств доступа, областей и т. Д. Хэш символов, хэш кодов, простые константы или ...?

Что-то вроде следующего:

class Listing < ActiveRecord::Base
  LISTING_TYPES = {
    :sale  => 1,
    :rent  => 2,
    :lease => 3,
  }

  validates :listing_type, :inclusion => {:in => LISTING_TYPES.values}
end

Заранее спасибо.

1 Ответ

1 голос
/ 08 марта 2011

Я использую камень simple_enum .

class Listing < ActiveRecord::Base
  as_enum :types, {:sale => 0, :rent => 1, :lease => 2}
end

Драгоценный камень создает для вас все искатели, поэтому вы можете выполнять запросы по типам, а не по индексу:

Listing.find_by_type(:sale)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...