これは承認モデルで発生しています。承認には:emailという属性があります。つまり、self.emailはemail属性を持つApprovalクラスのObjectを呼び出しています。 enter code here
rails 3 find_or_create_byメソッドの使い方、新しいオブジェクトに追加の属性を設定する方法
def associate_correct_user
new_user = User.find_or_create_by_email self.email do |u|
u.invite!
end
私はここにユーザーを作成していた場合、私は他の二つの属性(FIRST_NAMEとLAST_NAME)を渡す必要があります。これらの属性は、別のモデルのEmailから取得する必要があります。この場合、self.emailはすでに検証済みです。
これが私の頭の中で理にかなっているものです:
def associate_correct_user
new_user = User.find_or_create_by_email self.email do |u|
user = Email.find_by_email(self.email)
u.first_name = user.first_name
u.last_name = user.last_name
u.invite!
end
これは、ユーザーを作成しますが、FIRST_NAMEとLAST_NAMEは、この新しいユーザーに属性が設定されていません...
ええと、find_or_Create_byのポイントではありませんか? IT部門は正しい電子メールでユーザーを保存します。最初の属性や最後の属性は設定しないでください。 –
あなたは正しいです、私はアンサーを更新しました、ごめんなさい –