Rails - 从params更新对象

时间:2014-09-28 23:28:38

标签: ruby-on-rails activerecord

我想知道是否有办法将params绑定到现有对象以进行编辑。我想做这样的事情,但要编辑对象:

@object = Object.new(params[:object])

类似于:

@object = Object.find(params[:object_id])
@object.edit(params[:object])

params[:object]来自form_for

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您可以使用

@object.assign_attributes(params[:object])

@object.attributes = params[:object]

答案 1 :(得分:1)

如果目标是编辑params发送的form_for,您可以将其分配给哈希并开始编辑。

@params = params 
# and do whatever to the @params

之后,您可以使用assign_attributes作为Ahmad Sherif指示或newupdate_attributes将其分配给模型记录。