Rails Controller Index Only Display Objects with Association
我有一个名为
在我的页面视图控制器中,我只想显示具有company_profiles的用户。我也想显示他们的用户信息和他们的company_profile信息。
我不确定如何在控制器和视图中处理此问题。
我的索引方法应该是什么?
1 2 3 | def index @users = User.scoped # ????? end |
如何在索引页面上遍历具有公司资料的每个用户?
1 2 3 4 5 6 | <% @users.each do |user| %> <p> <%= user.email %> <%= user.company_profile.poc_first_name %> </p> <% end %> |
现在您提到要只向显示有company_profile的用户显示。因此,在您的控制器方法中,以下应该在索引方法中:
1 2 3 | def index @users = User.left_outer_joins(:company_profile).where("company_profiles.id is NOT NULL") end |
然后在您的视图中可以按如下方式获取company_profile \\的poc名字
1 2 3 4 5 | <% @users.each do |user| %> <p><%= user.email %> <%= user.company_profile.poc_first_name %> </p> <% end %> |
从数据库加载记录时制作
1 2 3 | def index @users = User.joins(:company_profile) end |