繁体   English   中英

Rails中模型属性的默认值

[英]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

使用最新的稳定Rai​​ls。

在您的迁移中进行设置:

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM