[英]Default values for model attributes in Rails
在Rails中为模型设置默认值的正确方法是什么?
class User < ActiveRecord::Base
attr_accessible :name, :points
end
我希望点从0开始而不是nil
。 理想情况下,立即创建默认值,而不是等待User
保存到数据库中。 但是我想使用before_save
或数据库约束也可以:
class User < ActiveRecord::Base
attr_accessible :name, :points
before_save :set_defaults
private
def set_defaults
self.points = 0
end
end
使用最新的稳定Rails。
在您的迁移中进行设置:
t.integer :points, default: 0
您可以通过migration
或使用模型setter
方法设置默认值。
change_column :user, :points, :integer, :default => 0
要么,
def points
@points ||= 0
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.