我有一个用户模型和一个消息模型。我的用户 has_many 消息和我的消息属于_to 用户。
在我的消息模型上,我有属性:content,:user_id,:to_id。
:user_id 充当外键,也可以被认为是“发送者”,而 :to_id 可以被认为是“接收者”。
在我的消息索引模板中,当我尝试显示所有消息时,我会执行类似...
<%= link_to message_item.user.name, message_item.user %>
该行在显示我收到的消息时效果很好(我的 :to_id 和 :user_id 显示谁向我发送了消息)
但是,当我在我的“已发送”类别下列出消息时,执行上面的代码行将始终显示我的姓名(因为 im :user_id)而不是 :to_id,这会更有意义。
理想情况下,我想要类似的东西
<%= message_item.to_id %>
对于我发送的类别。有没有办法获取我的 :to_id 类别中提到的用户对象?message_item.to_id.name 之类的东西不起作用,因为 message_item.to_id 返回一个整数而不是用户对象。有没有办法得到它?
在尝试显示和链接到发件人时,这是我失败的尝试
<% if current_user == message_item.user %>
<%= message_item.to_id %>
<% else %>
<%= link_to message_item.user.name, message_item.user %>
<% end %>
谢谢