Rails - 如何加载初始化到数据库中的布尔变量

时间:2014-02-23 13:33:55

标签: ruby-on-rails ruby

当我在我的应用程序中创建一个项目时,我希望将它作为一个初始化为false的布尔变量加载,但每次我检查我使用rails控制台创建的对象时,它都被初始化为null,那么,我该怎么做呢? (:

2 个答案:

答案 0 :(得分:2)

最简单的方法是在数据库迁移中将默认值设置为false。

即。在迁移的upchange方法中:

add_column :your_table_name, :your_field_name, :boolean, :default => false(对于新专栏)

或:

change_column_default :your_table_name, :your_field_name, false(对于现有列)

答案 1 :(得分:0)

您可以简单地覆盖模型中的getter:

class MyModel < ActiveRecord::Base
  def object
    super || false
  end
end

这样,数据库中的NULL是否无关紧要。

相关问题