Подтвердить что ты не робот

Как определить логическое поле для миграции рельсов

Я хочу добавить логическое поле значения ( "is_public" ) в таблицу "my_model". В настоящее время я могу использовать это:

class AddPublicToDream < ActiveRecord::Migration
  def self.up
    add_column :my_model, :is_public, :string
  end

  def self.down
    remove_column :my_model, :is_public, :string
  end

end

Затем я могу назначить "true" или "false" для mymodel.is_public в контроллерах.

Можно ли заменить: string: boolean для достижения такого же эффекта? Сохраняет ли это пространство базы данных по сравнению с: string?

4b9b3361

Ответ 1

Да, вы можете использовать :boolean для этого, и да, он также сохранит пространство базы данных.

Ответ 2

Измените атрибут type на :boolean и запустите rake db:migrate снова. Вы должны иметь возможность звонить, например:

Dream.is_public?  # returning true or false depending whether is set.