假设我有一个用户模型,我想用类方法生成一个用户。
我曾经做过这样的事情:
def self.generate_user(params)
user = user.new
# Some work on the user model
user.save ? user : nil
end
有了这个,我可以知道用户是否很容易创建,但是,我无法访问它的错误消息。
所以我正在考虑这两个选项:
选项一,退货状态和型号
def self.generate_user(params)
user = user.new
# Some work on the user model
return user.save, user
end
然后我必须以这种方式得到结果:ret, user = User.generate_user(params)
选项2,仅返回用户,检查valid?
def self.generate_user(params)
user = user.new
# Some work on the user model
user
end
然后 :
user = User.generate_user(params)
if user.valid?
# Do stuff
end
你更喜欢哪个选项?你还有别的吗?也许使用异常?