0
次のクラスを作成しましたが、正しく機能しませんでした。カスタム検証メソッドでの関連付け
class User < ActiveRecord::Base
validate :validate_department_code, on: :create
def validate_department_code
if self.department_code.present?
department = Department_code.find_by_name(self.department_code)
user.build_participation(department: department)
else
self.errors.add(:department_code, :not_found)
end
end
end
検証後、ユーザーはDBに保存されますが、参加は保存されません。したがって、user.participationはゼロになります。
どうすれば問題を解決できますか?
は、あなたの答えをいただき、ありがとうございます。それは問題を解決しました。 可能であれば、私の郵便番号が正しく機能しなかった理由を知りたい。 誰か知っていますか? – graboros
'validate'は検証の目的でのみ使用してください。 'validates:department_code、presence:true' – Yimanei
こんにちは@graboros、あなたの問題を解決したら私の答えを受け入れることができますか? – Yimanei