模型验证不允许更新特定列的能力

问题描述:

所以我想要完成的是允许用户在数据库中设置一个started_at日期。但我不希望他们能够在稍后的阶段进行编辑。模型验证不允许更新特定列的能力

所以我遇到这个问题的原因是我有一个ajax调用,当你加入一个会话时,它设置created_at。问题是如果刷新将更新的浏览器。不过,我想避免这种情况。之后,我有一个检查时间花费的心跳。

那么我该如何让他们初步设置一个started_at,但是如果它存在,不允许他们更新started_at?

您可以将此添加为模型中的before_save挂钩。

before_save do 
    self.started_at = started_at_was if started_at_changed? && started_at_was.present? 
end