当我在我的应用程序中创建一个项目时,我希望将它作为一个初始化为false的布尔变量加载,但每次我检查我使用rails控制台创建的对象时,它都被初始化为null,那么,我该怎么做呢? (:
答案 0 :(得分:2)
最简单的方法是在数据库迁移中将默认值设置为false。
即。在迁移的up
或change
方法中:
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
是否无关紧要。