4

我正在制作一个数据库:

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

我在任何地方都找不到任何东西,所以我猜这是非常基本的东西。

4

3 回答 3

2

关联(has_many、belongs_to 等)应该在模型中声明,而不是在迁移中。

这是从迁移开始的好读物:http: //guides.rubyonrails.org/migrations.html

而这个用于关联: http: //guides.rubyonrails.org/association_basics.html

于 2012-11-24T21:36:27.000 回答
0

将您的关联放入模型中

class Member < ActiveRecord::Base

has_many :listings, :dependent => :restrict 
has_many :transactions, :dependent => :restrict

end
于 2012-11-24T21:40:57.337 回答
0

您不必在迁移中声明关联,而是在模型中声明!

于 2012-11-24T21:33:37.060 回答