我已将此方法放入我的控制器中,以便锁定用户文档,但每个文档的记录保持不变。
def lock
@doc = Doc.find(params[:id])
respond_to do |format|
params[:locked] = true
format.html { redirect_to share_path(@doc) }
format.json { render json: @doc }
end
end
我知道params[:locked]
是不起作用的部分。正确的语法是什么?我也试过@doc.update_attribute(:locked, true)
但没有成功。
干杯。
答案 0 :(得分:1)
Params是通过表单提交的属性的哈希值。它与数据库无关,不会保存在任何地方。实际上,您只应该从中读取数据,而不是修改它。要更新记录,您应该调用记录本身的方法,例如save
或update_attribute
。
所以@doc.update_attribute(:locked, true)
应该适用于你的情况。