0

我已经将此方法放在我的控制器中,以便我可以锁定用户文档,但每个文档的记录保持不变。

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)没有成功。

干杯。

4

1 回答 1

2

Params 是通过您的表单提交的属性的哈希值。它与数据库无关,也不保存在任何地方。事实上,你只应该从中读取数据,而不是修改它。要更新记录,您应该调用记录本身的方法,例如saveupdate_attribute

所以@doc.update_attribute(:locked, true)应该适用于你的情况。

于 2012-10-10T05:32:15.947 回答