【发布时间】:2026-01-01 09:00:01
【问题描述】:
我的模型有一个属性void。如果void 为真,我希望记录是只读的。
我试过了:
def readonly?
self.void
end
但这会使我无法保存记录,因为在我保存之前 void 已经为真。使用void=true 保存记录会引发ActiveRecord::ReadOnlyRecord 异常。所以我永远无法真正将void=true 存储在数据库中。
我保存void=true后如何记录readonly
【问题讨论】:
-
你能提供你的验证吗?
-
@OlegSobchuk 我只验证其他字段而不是无效,所以我认为这无关紧要吗? (或者我错了吗?)。在设置
void=true后保存记录会导致它引发ActiveRecord::ReadOnlyRecord错误,这似乎与rails 验证无关。
标签: ruby-on-rails-4 rails-activerecord