我在哪里将数据库约束放在rails中?

时间:2013-02-06 20:05:01

标签: ruby-on-rails database validation constraints

简单的问题。我正在学习RoR。我发誓我在这里和谷歌搜索了这个主题。

我的应用中需要很多表格。

我正在阅读数据库约束的好处。我在每个模型中使用验证,例如:

class Example < ActiveRecord::Base

  belongs_to :other
  has_one :another...

  attr_accessible :username, :email, :password

  validates :username, e:mail, :password, presence: true
  validades .....
end

我想了解数据库约束,如何在数据库中获得相同的验证?我应该将这些约束(如:null => false)放在schema.rb文件中吗?

1 个答案:

答案 0 :(得分:1)

是的,绝对把它放在您的迁移中:

:null => false

要求非空字段。虽然仍然可以提供空字符串,但它会通过非NULL测试。您可以通过添加长度验证来解决此问题:

validates_length_of :username, :minimum => 1, :maximum => 255