我是Rails的初学者,正在构建我的第一个网络应用程序。
目前我有两种模式:用户和患者。用户拥有多个患者,患者属于一个用户。在患者控制器中,我将以下行添加到创建操作中,以仅显示属于患者#index中登录用户的患者。
@patient.user_id = current_user.id
在患者#index的表格中,它显示了user_id
<td><%= patient.user_id %></td>
User模型具有company_name:string属性。
如何在此页面上显示我的用户模型中的:company_name - 而不是user_id?
答案 0 :(得分:2)
您应该使用user
关联:
<td><%= patient.user.company_name %></td>
答案 1 :(得分:1)
继Marek
的答案之后,您可能希望查看delegate
方法
我不确定这是否会直接对您有所帮助,因为delegate
仅适用于belongs_to
和has_one
方法(尽管我已将其与{{暂时合作) 1}}之前)
-
has_many
这将允许您致电:
#app/models/patient.rb
Class Patient < ActiveRecord::Base
belongs_to :user
delegate :company_name, to: :user, prefix: true
end
比任何东西更美观 - 但总是很方便,考虑到你可以在这个地方有这么多的协会