【发布时间】:2016-08-23 21:13:58
【问题描述】:
我觉得这是一个非常基本的问题,但由于某种原因,我被它难住了(Rails 新手),似乎找不到答案(可能是我没有正确搜索)。
所以我有一个基本的 has_many :通过这样的关系:
class User < ApplicationRecord
has_many :contacts, through :user_contacts
class Contact < ApplicationRecord
has_many :users, through :user_contacts
在 users/show.html.erb 中,我正在遍历单个用户的联系人,例如:
<% @user.contacts.each do |c| %>
<%= c.name %>
<% end %>
现在在每个循环中,我想访问与给定用户和联系人关联的 user_contact 连接模型,以显示 created_at 时间戳,该时间戳指示用户 联系关系的建立时间。
我知道我可以调用 UserContact.find 来通过 user_id 和 contact_id 在数据库中查找模型,但不知何故这感觉是多余的。如果我正确理解这是如何工作的(我完全有可能不理解),那么当我已经从数据库加载给定用户及其联系人时,应该已经加载了 user_contact 模型。我只是不知道如何正确访问正确的模型。有人可以帮助使用正确的语法吗?
【问题讨论】:
标签: ruby-on-rails activerecord