にモデル参照の追加:ピエロ&ラビット私は既存のモデルを考えるのRails 3の2つの<em>既存</em>クラス</p> <p>との関係加えるアプローチする「正しい」やり方知りたいのですが、既存のRailsのモデル
をRabbitからClownへのリファレンス(belongs_to)を追加したいと思います。
rails g migration AddClownToRabbits clown:reference
私のように見える移行できます::
class AddClownToRabbits < ActiveRecord::Migration
def self.up
add_column :rabbits, :clown, :reference
end
def self.down
remove_column :rabbits, :clown
end
end
この移行にrake db:migrate
た後、私はSQLite3ののdevelopment.dbを調べ、新しい列を参照:私は、マイグレーションを生成しようとしていることから始める"clown" reference
class AddClownToRabbits < ActiveRecord::Migration
def self.up
add_column :rabbits, :clown_id
end
def self.down
remove_column :rabbits, :clown_id
end
end
:
は私が"clown_id" integer
列と同じように見えたの移行を期待していたと思います
私は確信しています:参照は "t.references:clown"と同等であるはずですが、ドキュメントが見つかりません(大きな驚き)。参照:への無参照して... Instantiates a new column for the table. The type parameter is normally one of the migrations native types, which is one of the following: :primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean.
:APIはADD_COLUMN言います。
ドキュメントについては(ドキュメント内の参考文献も参照してください)、http://guides.rubyonrails.org/getting_started.htmlを参照して、7.1モデルの生成までスクロールし、その見出しの下にあるコードスニペットを見てください。 *:reference *ではなく*:references *であることがわかります。 – iconoclast