【发布时间】:2015-11-10 11:51:26
【问题描述】:
这是我认为非常容易的事情,但事实证明并非如此。
我试图在我的 FooBarsController 的更新操作中找到对某些记录所做的更改(我们称之为 FooBar)。
不幸的是,ActiveRecord::Persistence 中定义的 .update 方法似乎不会更新记录上的 changes 属性。
例如:
def update
@resource = FooBar.find(params[:id])
if @resource.update(resource_params)
@resource.changes # => {}
render json: @resource
else
render_validation_errors @resource.errors
end
end
这是为什么?有人知道如何进行更改吗?
注意:我不想使用模型挂钩。我尝试在更改中使用的代码将使用current_user 方法,因此,使用模型挂钩会很脏。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 model-view-controller controller