在我的Rails項目中,我使用Postgresql。Rails update_attributes不適用於Postgresql
User.find_by_sql("update users set address = '#{params[:address]}' where id = #{current_user.id}")
此代碼工作正常,但等效的ActiveRecord不工作:
user = User.find(current_user.id)
user.update_attributes(:address => params[:address])
它總是顯示在日誌Begin; Rollback
。 你能解釋一下爲什麼會發生這種情況?有沒有與Postgres相關的問題? 我使用Rails 3.2
編輯
我發現在那裏我錯了...驗證失敗是造成這一點。 解決方法是:
user.update_column(:address,params[:address])
這將繞過驗證。 謝謝你們的幫助。
你能告訴你的用戶模型嗎? – edralph