每个方法都无法获取相关模型

时间:2015-09-04 14:39:31

标签: ruby-on-rails each model-associations

我写道:

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

(有三种型号:聊天,Chatuser,用户)

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

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

2 个答案:

答案 0 :(得分:0)

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

combocreate

答案 1 :(得分:0)

<强>解决

解决方案是使用另一种样式的ruby-html写作:

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

感谢Ruby on Rails Talk