我想知道「正確」的方式來處理Rails中加入3添加模型參考現有的Rails的模型
鑑於現有模型兩種現有類之間的關係:小丑&兔
我想添加一個從兔子到小丑的參考(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
我猜我期待一個"clown_id" integer
列,看起來像一個遷移:
class AddClownToRabbits < ActiveRecord::Migration
def self.up
add_column :rabbits, :clown_id
end
def self.down
remove_column :rabbits, :clown_id
end
end
我確定:引用應該等同於「t.references:clown」,但我找不到文檔(大驚喜)。 API說add_column: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.
...沒有參考到:參考。
有關文檔(以及它在文檔中的引用,請參閱http://guides.rubyonrails.org/getting_started.html),然後向下滾動到7.1生成模型並查看該標題下的代碼段。你會看到它是*:引用*而不是*:引用*。 – iconoclast 2011-04-15 02:38:32