每个方法都不适用于获取相关模型
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 %>
如果我理解你的问题是正确的,并且你想让所有用户进行聊天,那么这样做就可以了:
Chat.find(6).users
正在解决
解决方案是使用另一种 ruby-html 写作风格:
<% Chat.find_by(id: 6).chatusers.each do |chat_user| %>
<%= chat_user.user.inspect %>
<% end %>
我写:
<%= 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 %>
如果我理解你的问题是正确的,并且你想让所有用户进行聊天,那么这样做就可以了:
Chat.find(6).users
正在解决
解决方案是使用另一种 ruby-html 写作风格:
<% Chat.find_by(id: 6).chatusers.each do |chat_user| %>
<%= chat_user.user.inspect %>
<% end %>