现在我们有一种新的migration文件中声明的格式。以前我们是这样写的:
Ruby代码 复制代码
create_table :people do |t| t.column, "account_id", :integer t.column, "first_name", :string, :null => false t.column, "last_name", :string, :null => false t.column, "description", :text t.column, "created_at", :datetime t.column, "updated_at", :datetime end
而现在,我们可以这样写:
Ruby代码 复制代码
create_table :people do |t| t.integer :account_id t.string :first_name, :last_name, :null => false t.text :description t.timestamps end
更多关于sexy migration:
create_table :people do |t| t.column, “account_id”, :integer t.column, “first_name”, :string, :null => false t.column, “last_name”, :string, :null => false t.column, “description”, :text t.column, “created_at”, :datetime t.column, “updated_at”, :datetime end
现在你只需要这样写:
create_table :people do |t| t.references :account t.string :first_name, :last_name, :null => false t.text :description t.timestamps end
t.references :account也可以写成 t.belongs_to :account(和ActiveRecord::Base一样)
和ActiveRecord::Base的belongs_to一样,多态也同样支持。
create_table :taggings do |t| t.integer :tag_id, :tagger_id, :taggable_id t.string :tagger_type t.string :taggable_type, :default => 'Photo' end