Rails Model 中的数据声明和 migrate 中的数据声明有什么不同啊?

xufeng · 2012年04月17日 · 最后由 douya0808 回复于 2012年04月17日 · 2370 次阅读

model 代码:

class Keyword < ActiveRecord::Base
    validates :name, :presence => true, :uniqueness => true
end


migrate 代码

class CreateKeywords < ActiveRecord::Migration
  def change
    create_table :keywords do |t|
      t.string :name, :null => false
      t.integer :level, :null => false, :default => 0

      t.timestamps
    end
  end
end


这2者的声明有什么不同吗?如何使用呢?

共收到 4 条回复

model中那个是数据声明?这个不是验证非空且唯一吗:)

validates 是数据校验,migration 是数据/模式迁移

LZ问的应该是 :presence => true:null => false 的区别。  前者是save的时候检查对象对应属性。 后者是让数据库把那一列属性设置为不可为NULL。 一个MODEL层一个在数据库。

@Rei 师傅早:)~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册