Ruby On Rails:从关联的模型访问价值

时间:2019-04-17 14:29:21

标签: ruby-on-rails activerecord

我在这里发布,因为你们比过去的书对我有更大的帮助!请原谅我还在学习。

我有一个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。

提前谢谢

1 个答案:

答案 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)。解决此问题,然后尝试我上面写的内容。