如何使用Rails查找一个has_many而不是另一个?
|
消息has_many user_messages。它有两个。
1个UserMessage将发送者作为user_id
另一个UserMessage将接收者作为user_id
知道一个用户后,对于任何消息,我怎么能找到另一个?
这是我尝试作为Message类方法的尝试,但失败了:
32 def other_user(one_user)
33 um = self.user_messages
34 um.each do |user_message|
35
36 output_user = User.find(user_message.user_id) unless user_message.user_id == one_user.id
37 end
38
39 return output_user
40 end
没有找到相关结果
已邀请:
2 个回复
慷祈霖黑
坛沤疲撑拆
它取
的集合,过滤掉属于
的那个。阵列中应该还剩下一个,因此请挑选出来并返回附加给它的用户。 编辑 我可能无法理解您的所有要求,但可能会直接在
中添加
和
并删除
连接表。然后可以定义如下关系:
编辑2 如果您想要中间表来跟踪用户特定的状态,则可以考虑使用STI将ѭ10class子类化为
和ѭ14th(这些名字虽然不太好,但是您知道了),然后可以使用
。
与接收邮件的类似代码。然后,您应该可以直接从消息中访问
和
。