每个方法都不适用于获取相关模型

Method each not working for getting related model

我写:

<%= Chat.find_by(id: 6).chatusers.each { |chat_user| chat_user.user.inspect } %>

(一共有三个模型:Chat、Chatuser、User)

Chat.find_by(id: 6).chatusers returns table "chats_users" 的集合,这很好用。 但是我无法通过方法 "each" 中集合的每个元素获取模型用户。 所以,问题是为什么每个人都不努力获得相关模型 "user" 或如何通过各种方式解决我的任务。

class Chat < ActiveRecord::Base
  has_many :chatusers
  has_many :users, through: :chatusers

class Chatuser < ActiveRecord::Base
  self.table_name = "chats_users"
  belongs_to :chat
  belongs_to :user

  validates :chat_id, presence: true
  validates :user_id, presence: true
end

class User < ActiveRecord::Base
  has_many :chats, class_name: "Chatuser" 

谢谢。

正在解决

解决方案是使用另一种 ruby-html 写作风格:

<% Chat.find_by(id: 6).chatusers.each do |chat_user| %> 
<%= chat_user.user.inspect %> 
<% end %> 

感谢Ruby on Rails Talk

如果我理解你的问题是正确的,并且你想让所有用户进行聊天,那么这样做就可以了:

Chat.find(6).users

正在解决

解决方案是使用另一种 ruby-html 写作风格:

<% Chat.find_by(id: 6).chatusers.each do |chat_user| %> 
<%= chat_user.user.inspect %> 
<% end %> 

感谢Ruby on Rails Talk