ユーザーモデルがあり、クラスメソッドを使用してユーザーを生成するとします。
私はこのようなことをしていました:
def self.generate_user(params)
user = user.new
# Some work on the user model
user.save ? user : nil
end
これにより、ユーザーが作成されたかどうかはわかりますが、エラーメッセージにアクセスできません。
だから私はこれらの2つのオプションを検討しています:
オプション1、ステータスとモデルを返す
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
どのオプションが好きですか?他にありますか?たぶん例外を使って?