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 は、フォームから送信された属性のハッシュです。データベースとは関係なく、どこにも保存されません。実際、そこからデータを読み取るだけで、変更することは想定されていません。saveレコードを更新するには、やなどのレコード自体のメソッドを呼び出す必要がありますupdate_attribute

あなた@doc.update_attribute(:locked, true)の場合はうまくいくはずです。

于 2012-10-10T05:32:15.947 に答える