1

同じモデル内の属性が true に設定されている場合、アクセスされるたびにモデルを読み取り専用に設定するにはどうすればよいですか?

私はどこでも見てきましたが、読み取り専用のモデルにはドキュメントがほとんどなく、Web の結果さえもないようです。

編集(追加情報):モデル(application.rb)に2つのメソッドがあります-プライベートではありません

  def lock()
    self.locked = true
    save(validate: false)
  end

  def unlock()
    self.locked = false
    save(validate: false)
  end

更新時にアプリケーションコントローラーからそれらを呼び出します:

if params[:application][:locked] == false
  @application.unlock
  return
elsif params[:application][:locked] == true
  @application.lock
  return
end

そしてモデル(application.rb)で私は持っています-非公開ではありません:

  def readonly?
    locked == true
  end
4

1 に答える 1