我正在建立一个数据库:
class CreateUsers < ActiveRecord::Migration
def change
has_many :listings, :dependent => :restrict #won't delete if listings exist
has_many :transactions, :dependent => :restrict #won't del if trans exist
create_table :users do |t|
t.integer :key #it's hard to use string as primary
t.string :identifier_url
t.string :username
t.integer :rating
t.timestamps
end
end
end
和
class CreateListings < ActiveRecord::Migration
def change
has_one :book
belongs_to :transaction
belongs_to :user
create_table :listings do |t|
t.integer :key
t.integer :condition
t.decimal :price
t.timestamps
end
end
end
我在这方面找不到任何东西,所以我猜它是非常基本的东西。
答案 0 :(得分:2)
关联(has_many,belongs_to等......)应该在模型中声明,而不是在迁移中声明。
从迁移开始这是一个很好的阅读: http://guides.rubyonrails.org/migrations.html
这个用于协会: http://guides.rubyonrails.org/association_basics.html
答案 1 :(得分:0)
您不必在迁移中声明关联,而是在模型中声明!
答案 2 :(得分:0)
将您的关联放入模型中
class Member < ActiveRecord::Base
has_many :listings, :dependent => :restrict
has_many :transactions, :dependent => :restrict
end