我在这里发布,因为你们比过去的书对我有更大的帮助!请原谅我还在学习。
我有一个Landlord MGT应用程序,它具有房屋模型和租户模型。在房屋的显示页面上,我想查看模型中具有关联的house_id的租户。
房屋展示页面
.wrapper_with_padding
%h1.showheading= 'Property Information'
#house_show
%p First Line Address: #{@house.doorno} #{@house.house_title}
%p Description: #{@house.description}
%p Tenant: #{@tenant.house.tenant_id}
当前,以上代码中的“租户”行不起作用,并提取了NULL值。
模型
class House < ActiveRecord::Base
belongs_to :user
belongs_to :tenant
class Tenant < ActiveRecord::Base
belongs_to :user
belongs_to :house
我的控制器中没有任何要显示的东西。
总而言之,承租人表具有house_id属性。在该特定房屋的显示页面上,我想查看相关的tenant_id。
提前谢谢
答案 0 :(得分:2)
您没有理由声明@tenant
。您可以通过@house
访问@house.tenant
的相关租户对象并获取ID,只需使用@house.tenant.id
。
编辑:您的关联是错误的。参见:https://guides.rubyonrails.org/association_basics.html#the-types-of-associations
因为租户的house_id列为belongs_to :house
。
这意味着房子has_one :tenant
(如果您喜欢那种东西,也可以是has_many
)。解决此问题,然后尝试我上面写的内容。