0
我有依賴於其他兩款車型的關聯像這樣一個模型:Rails的連接表與型號副教授
class InventoryItem < ActiveRecord::Base
attr_accessible :vendor_id, :price, :upc
has_many :items
belongs_to :vendor
end
我的問題是這樣的:如果我在參加模型這些關聯,我需要在遷移中再次指定這些關聯以創建inventory_items表,以便包含來自:items和:vendor的屬性?這是當前遷移(尚未執行)來創建表:
class CreateInventoryItems < ActiveRecord::Migration
def change
create_table :inventory_items do |t|
t.integer :upc
t.decimal :price
t.integer :vendor_id
end
end
end
瀏覽sqlit3 DB使我相信,我需要做的是莫名其妙。最好的方法來做到這一點?我對RoR很陌生,所以任何反饋都是值得歡迎和讚賞的。
謝謝,這大多是有道理的。那麼即使沒有在遷移中指定關聯,來自:vendor和:item的屬性也會反映在我的連接表'inventory_items'中?也許更好的問題是:是否有必要在連接表'inventory_items'中反映vendor:和item的屬性,以便在我的應用中訪問它們? – settheline
對於belongs_to關聯,您需要外鍵,如'vendor_id'。除此之外,只需在模型中設置關聯就足夠了。然後,您將可以執行諸如「InventoryItem.items.first」和「InventoryItem.first.vendor」之類的內容。上面的遷移應該可以正常工作。 – weltschmerz