2012-11-13 64 views
0

我目前有三個模型,用戶,屬性,租戶。當我創建了USER_ID通過協會傳遞給屬性的屬性:如何關聯3個模型

class User 
    has_many :properties 
end 

class Property 
    belongs_to :user 
    has_many :tenants 
end 

class Tenant 
    belongs_to :property 
end 

我碰上,試圖通過一個PROPERTY_ID租戶的問題。我嘗試過幾種關聯組合,但似乎沒有任何效果。

我的租戶數據庫有一個property_id列,我可以手動添加一個property_id給它,一切正常。但我希望能夠做的是從一個屬性內點擊「新租戶」,然後該租戶與該屬性關聯,但不會發生。

我甚至試圖通過傳遞PROPERTY_ID成隱藏字段租客形式中:

<%= render :partial => 'shared/new_tenant', :locals => { :tenant => Tenant.new(:property_id => @property.id) } %> 

但是這並沒有任何工作。

任何建議可以節省我的理智。

謝謝, Tony。

+0

你有沒有的has_many:如果你沒有一個,您可以通過生成遷移添加: belongs_to屬性和租戶之間的關聯? –

+0

高雅的屬性模型我的has_many:住戶和租戶模式,我有belongs_to的:財產 –

+0

當你說,它不工作,什麼也正是應用程序的錯誤或行爲? –

回答

0

在模型中添加belongs_to,has_many等不足以在數據庫中建立關係。他們所做的是通過查看數據庫中已有的*_id字段來告訴Rails哪些關聯。

您需要確保您的租戶表上有一個property_id類型的Integer

rails g migration add_property_id_to_tenants property_id:integer 

,然後運行rake db:migrate(以及類似的其他型號,如果他們還缺少這些列)

+0

我在租戶表中已經有了一個property_id列,但它沒有被填充property_id。 –