Facebook-omniauth 和关联:如何将朋友与用户联系起来
Posted
技术标签:
【中文标题】Facebook-omniauth 和关联:如何将朋友与用户联系起来【英文标题】:Facebook-omniauth & associations: how to associate friends with a user 【发布时间】:2014-01-18 18:24:07 【问题描述】:我正在使用 Facebook-Omniauth gem 将人们连接到我的应用程序。我可以看到当一个新用户登录时,它会在我的数据库中创建一个新的用户记录。我的应用程序应该将用户连接到他们的朋友和他们的事件......但它只是将用户连接到所有朋友(人)和数据库中的所有事件。
在 User.rb 中:
has_many :people
has_many :people,
:through => :friends
在 Person.rb 中:
has_many :users,
:through => :friends
在 Friend.rb 中:
belongs_to :person
belongs_to :users
通过 Omniauth 进行身份验证后,我会遍历用户拥有的所有朋友,并尝试将他们添加为用户的朋友,如下所示:
self.people << @new_person
但 ActiveRecord 回喊以下内容:
[3] pry(#<User>)> self.people << @new_person
ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association :friends in model User
[4] pry(#<User>)> self.friends << @new_person
NoMethodError: undefined method `friends' for #<User:0x007f9b816850f0>
我错过了什么?
【问题讨论】:
【参考方案1】:你有没有:
has_many :friends
在你的模型中?
【讨论】:
以上是关于Facebook-omniauth 和关联:如何将朋友与用户联系起来的主要内容,如果未能解决你的问题,请参考以下文章