【发布时间】:2012-10-29 13:42:02
【问题描述】:
可能重复:
Ruby on Rails: Is it better to validate in the model or the database?
我发现可以在 Rails 模型和迁移中添加相同的约束/验证。但是哪一个是最好的方法?在模型和数据库级别(以及为什么)进行验证是一种好习惯吗?或者他们在rails中相同?
例如我们可以在模型和迁移中对名称进行相同的验证
class User < ActiveRecord::Base
validates :name, :uniqueness => true, :presence => true
end
class CreateUser < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name, :unique => true, :null => false
end
end
end
【问题讨论】:
-
好问题。我会说在模型中执行它并让它强制执行到数据库中,但我很想听听其他人怎么说。
标签: ruby-on-rails ruby database ruby-on-rails-3 validation