私はこの問題に気付きましたが、いくつかの推奨される解決策を試した結果、何が間違っているのか分かりませんでした。サンプルモデルとユーザーモデルもあります。サンプルが承認されると、サンプルの時間はユーザーの合計時間に加算されますが、ユーザーの値は決して更新されません。各ユーザーには、承認のために送信されたサンプルに保存されている固有の電子メールがあります。データベースにチェックインして、値にアクセスする際に問題ではないことを確認しました。エラーはスローされていないので、何が起きているのか分かりません。私はルビーとレールにはかなり新しいので、どんな助けにも感謝しています。私samples_controller.rbは、機能が含まれていますRails .update_attributeが更新されない
def approve
@sample = Sample.find(params[:id])
@sample.update(sample_status:1)
@user = User.find(Sample.email)
hours_update = @user.hours + @sample.volunteer_hours
@user.update_attributes(:hours, hours_update)
redirect_to samples_adminsamples_path
end
編集:ヘルプ皆のためのおかげで、私は適切なユーザーを取得するためにコマンドを
@user = User.find_by(email: @sample.email)
を使用する必要が判明します。
時間更新で得られる価値と時間フィールドのデータタイプは何ですか? – Vishal