私のユーザモデルにdeviseのあるレールアプリがあります。私のアプリでは、ユーザーは登録を通じてコースに登録できます。私はhour_learnedとhours_taughtを追加しました。登録後、私は現在のユーザーに学習した時間を追加しようとしますが、なんらかの理由でそれは機能しません。私はエラーはありませんが、dbに挿入されません。ユーザーモデルに次のような登録メソッドがあります。ユーザアトリビュートレールの割り当てに問題がある
def enroll!(course, user)
enrollments.create!(:course_id => course.id, :active => true)
user.hours_taught = user.hours_taught + (course.hours_long)
end
はい、私は属性にアクセス可能であることを確認しました。まだ行きません。どんな助けでも大歓迎です。
reocrdが無効の場合は例外が発生しますされ、メソッド内で、我々は
course
オブジェクトを取得し、登録に割り当て、時間の計算を行うと、その後save!
を使用して、それを保存しますhours_taught属性の更新後に 'user.save'を呼び出します。 –しかし、ユーザーは既にdbに存在し、インスタンス変数ではありません。まだユーザーを保存する必要がありますか? – Zach
あなたはまったく正しい、気持ちがいいとは思いません。私はそれを忘れたとは信じられません。 – Zach