Ruby 于 Rails:如何在模型上添加验证后迁移更改?

Ruby on Rails: How to migrate changes after adding validation on models?

我是 Rails 上 Ruby 的新手,目前正在研究模型。我已经为预先创建的属性添加了新的验证。

这是我添加的验证。

validates_presence_of :services, :message => 'This field is non-editable'

我是否必须在添加验证后迁移更改?如果是那么怎么办?

如有任何帮助,我们将不胜感激。

您数据库中已有的记录不会受到影响。但是如果你编辑了之前的记录,不通过验证是不能存储的。

您有 3 个选项:

  • 在 edit/update 上,强制使用新的字段值(您的情况下为默认值)
  • 创建迁移以在列上设置默认值。
  • 创建迁移以使用正确的值更新每一行(在我看来这不是一个好的选择)