我正在试图找出如何将活动记录实例保存到数据库然后锁定它以便您不能再写入它(更新或保存),但您仍然可以从中读取它。
我希望能够在模型中创建它。
答案 0 :(得分:2)
我建议您创建一个始终返回false的before_update
挂钩,而不是覆盖save方法。来自the callback documentation:
如果before_ *回调返回false,则取消所有后续回调和相关操作
仅在尝试保存已存在的记录时才会运行before_update
回调。最初创建时,它将运行before_create
。使用钩子,无论使用何种方法保存记录,您都可以确定它将被调用。当您覆盖现有的save
方法时,您必须确保save!
,update_attributes
等都被覆盖。