如何让ActiveRecord接受以下所有行。 User1将:name和:占用保存到db。 User2不需要存储在db中的“12”,但需要根据参数进行评估,然后使用一些默认值存储到db。 User3是两者的组合。
user1 = User.new(:name => "David", :occupation => "Artist")
user2 = User.new(12)
user3 = User.new(15, :name => "Mike", :occupation => "Programmer")
答案 0 :(得分:1)
你的问题不是很清楚,但我会根据我的理解来回答......
这样的事情应该适用于你的User
模型:
before_create :set_defaults
def set_defaults
return true unless default_case
case default_case
when 12
self.name = 'John'
self.occupation = 'Magician'
when 15
self.size = 'L'
end
end
然后,当您创建新模型时:
User.new(:default_case => 15, :name => "Mike", :occupation => "Programmer")