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

移行で関連付けを宣言する必要はありませんが、モデルで宣言する必要があります。

于 2012-11-24T21:33:37.060 に答える
0

関連付けをモデルに入れる

class Member < ActiveRecord::Base

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

end
于 2012-11-24T21:40:57.337 に答える