Установка значений по умолчанию для модели при использовании представлений базы данных рельсов - Scenic gem
Модель Contact имеет значения по умолчанию для столбца is_pickup.
Contact.new
=> id: 2, email: nil, order_id: nil, is_pickup: true
Теперь я подключаю контактную таблицу к представлениям rails db, используя сценический драгоценный камень.
class OrderContact < ApplicationRecord
self.table_name = 'temp_contacts'
self.primary_key = :id
...
end
Проблема в том, что я не могу установить значения по умолчанию для записи.
я попытался добавить следующее в модель контакта
def is_pickup
self[:is_pickup] || true
end
Но все же он не отображается в консоли рельсов
Contact.new
=> id: 2, email: nil, order_id: nil, is_pickup: nil
Мне нужно установить значение по умолчанию при инициализации записи.
Любая идея о том, как установить значения по умолчанию для модели при использовании представлений базы данных?
1 ответ
вы можете указать значение по умолчанию в миграции
change_column_default :contacts, :is_pickup, true
или вы можете добавить обратный вызов в свою модель
class Contact < ActiveRecord::Base
after_initialize :init
def init
self.is_pickup ||= true
end
end