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 上,强制使用新的字段值(您的情况下为默认值)
- 创建迁移以在列上设置默认值。
- 创建迁移以使用正确的值更新每一行(在我看来这不是一个好的选择)
我是 Rails 上 Ruby 的新手,目前正在研究模型。我已经为预先创建的属性添加了新的验证。
这是我添加的验证。
validates_presence_of :services, :message => 'This field is non-editable'
我是否必须在添加验证后迁移更改?如果是那么怎么办?
如有任何帮助,我们将不胜感激。
您数据库中已有的记录不会受到影响。但是如果你编辑了之前的记录,不通过验证是不能存储的。
您有 3 个选项:
- 在 edit/update 上,强制使用新的字段值(您的情况下为默认值)
- 创建迁移以在列上设置默认值。
- 创建迁移以使用正确的值更新每一行(在我看来这不是一个好的选择)