Модель ActiveRecord в Ruby On Rails не отображает поле «черный список» - PullRequest
0 голосов
/ 26 февраля 2010

Итак, я пытаюсь набросать дизайн в Ruby, и поэтому я запустил

ruby script/generate scaffold item name:string description:text model:string manufacturers_name:string category:string weight:decimal upc:string ebay_cat_id:string blacklist:bool in_discovery:bool archived:bool

Единственная проблема заключается в том, что ни одно из полей bool отсутствует в модели. Если я использую ruby ​​script / consol и запускаю

item = Item.new

Я получаю

#<Item id: nil, name: nil, description: nil, model: nil, manufacturers_name: nil, category: nil, weight: nil, upc: nil, ebay_cat_id: nil, created_at: nil, updated_at: nil>

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

Если подумать об этом, отметки даты также отсутствуют на объекте. Любые намеки для меня? Нужно ли вручную писать средства доступа к ним или что?

1 Ответ

2 голосов
/ 26 февраля 2010

Вы пробовали:

blacklist:boolean

Похоже, вы должны указать полное имя, документы говорят:

Создает новый столбец для таблицы. Параметр типа, как правило, является одним из собственных типов миграции, который является одним из следующих: :primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp , :time, :date, :binary, :boolean.

Так же, как вы не можете использовать int, вы должны объявить integer

Чтобы ответить на вторую часть вашего вопроса, Да! Существует ограничение на количество столбцов, которое у вас может быть, 4096.

Похоже, что когда интерпретатор нажал «bool», он переименовал последние имена и типы столбцов, поэтому вы, вероятно, пропускаете свои временные метки, а какие нет.

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