【发布时间】:2017-03-11 17:46:18
【问题描述】:
在 Rails 5 中,我有一个带有属性的模型,其值永远不会直接设置,而是始终在 before_save 回调中计算。我想保护这个属性不被从模型外部更新,所以调用像 f. e. update_attribute() 会失败。我在模型中使用了attr_readonly 来实现我想要的效果,并且效果很好,直到我意识到它会阻止所有 更新!也来自模型本身。因为,根据Rails API docs,这是正确的行为,那么拒绝对特定属性进行修改但仅从外部修改的最佳方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby rails-activerecord ruby-on-rails-5