同じモデル内の属性が 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