我正在嘗試在Rails中建立兩個模型之間的關係,但我無法弄清楚我需要在遷移中做什麼。任何幫助深表感謝。Rails has_one和belongs_to遷移?
我希望每個企業都有類型/類別,例如「汽車」或「餐廳和酒吧」。
Business.rb:
class Business < ActiveRecord::Base
has_one :category, :foreign_key => "cid"
attr_accessible :description, :email, :facebook, :foursquare, :google, :manager,
:mobile, :name, :phone, :url, :yelp
end
Type.rb:
class Type < ActiveRecord::Base
attr_accessible :cid, :category
belongs_to :business
end
CreateTypes遷移文件:
class CreateTypes < ActiveRecord::Migration
def change
create_table :types do |t|
t.integer :cid
t.string :category
t.references :business
t.timestamps
end
add_index :types, :cid
end
end
CreateBusinesses遷移文件:
class CreateBusinesses < ActiveRecord::Migration
def change
create_table :businesses do |t|
t.string :name
t.string :url
t.string :phone
t.string :manager
t.string :email
t.boolean :mobile
t.boolean :foursquare
t.boolean :facebook
t.boolean :yelp
t.boolean :google
t.text :description
t.integer :cid
t.timestamps
end
end
end
這是有道理的,但我如何驗證它正在工作? – Slicekick
我redid遷移,但我應該'attr_accessible:category'添加到我的類型模型,以便我可以創建類別,對不對? – Slicekick
在定義模型並遷移數據庫之後,您可以簡單地運行rails c並嘗試創建模型和關聯:t = Type.create; b = t.businesses.create; b.type == t – davidrac