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 和关联:如何将朋友与用户联系起来的主要内容,如果未能解决你的问题,请参考以下文章

如何将eclipse项目和svn关联

如何将智能设备关联至云开发中的项目?

本地如何将svn和git管理的代码做关联

如何将自旋控件关联到 MFC 中的不同编辑框

如何将数据写入 CakePHP 中 HABTM 连接表的 HABTM 关联?

POWERBI如何将按钮关联翻页动作?