【发布时间】:2010-12-22 23:52:24
【问题描述】:
我是 Rails 中活动记录关联的新手,所以我不知道如何解决以下问题:
我有一个名为“会议”和“用户”的表。我通过制作一个表“参与者”正确地将这两者关联在一起并设置了以下关联语句:
class Meeting < ActiveRecord::Base
has_many :participants, :dependent => :destroy
has_many :users, :through => :participants
和
class Participant < ActiveRecord::Base
belongs_to :meeting
belongs_to :user
最后一个模型
class User < ActiveRecord::Base
has_many :participants, :dependent => :destroy
此时一切顺利,我可以通过在普通会议>show.html.erb 视图中调用@meeting.users 来访问特定会议的参加者的用户值。
现在我想在这些参与者之间建立联系。因此,我制作了一个名为“connections”的模型并创建了“meeting_id”、“user_id”和“connected_user_id”列。所以这些联系有点像某个会议中的友谊。
我的问题是:如何设置模型关联,以便轻松控制这些连接?
我想看看我可以使用的解决方案
@meeting.users.each do |user|
user.connections.each do |c|
<do something>
end
end
我通过将会议模型更改为以下方式进行了尝试:
class Meeting < ActiveRecord::Base
has_many :participants, :dependent => :destroy
has_many :users, :through => :participants
has_many :connections, :dependent => :destroy
has_many :participating_user_connections, :through => :connections, :source => :user
请问,有没有人有解决方案/提示如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails activerecord join associations