【发布时间】:2013-05-31 12:21:28
【问题描述】:
在我的 Rails 项目中,我使用的是 Postgresql。
User.find_by_sql("update users set address = '#{params[:address]}' where id = #{current_user.id}")
这段代码工作正常,但等效的活动记录不工作:
user = User.find(current_user.id)
user.update_attributes(:address => params[:address])
它总是在日志中显示Begin; Rollback。
你能解释一下为什么会这样吗?是否有与 Postgres 相关的任何问题?
我正在使用 Rails 3.2
编辑
我发现我错了......验证失败导致了这种情况。 解决办法是:
user.update_column(:address,params[:address])
这将绕过验证。 谢谢大家的帮助。
【问题讨论】:
-
你能展示一下你的用户模型吗?
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2