我正在阅读一本 ror 初学者书籍,它有这个参考示例:
class Article < ActiveRecord::Base
attr_accessible :body, :excerpt, :location, :published_at, :publisher, :title
validates :title, :presence => true
validates :body, :presence => true
belongs_to :user
has_and_belongs_to_many :categories
end
class Category < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :articles
end
所以这两个模型意味着通过 habtm 以两种方式连接,就像上面的代码一样。但是,这本书也告诉我我应该提供这样的迁移:
class CreateArticlesCategories < ActiveRecord::Migration
def up
create_table :articles_categories, :id => false do |t|
t.integer :article
t.integer :category
end
end
def down
drop_table :articles_categories
end
end
我的问题:为什么?为什么我需要创建此迁移而不是模型articles_categories?