Ruby on rails 找不到“查找”或“按facebook创建”id方法

Ruby on rails 找不到“查找”或“按facebook创建”id方法,ruby-on-rails,facebook,undefined,facebooker,Ruby On Rails,Facebook,Undefined,Facebooker,我试图找出这个函数的来源。有人有线索吗?它由以下人员使用: 这里有一个工作示例: 下载代码时,它抛出:未定义的方法“find_或_create_by_facebook_id”for# 我不知道这个函数是从哪里来的 谢谢大家 ActiveRecord根据数据库中的列创建动态查找程序。因此,例如,如果您有一个具有username属性的用户,那么activerecord将创建许多动态查找程序: find_by_username find_or_initialize_by_username #=&g

我试图找出这个函数的来源。有人有线索吗?它由以下人员使用:

这里有一个工作示例:

下载代码时,它抛出:
未定义的方法“find_或_create_by_facebook_id”for#

我不知道这个函数是从哪里来的


谢谢大家

ActiveRecord根据数据库中的列创建动态查找程序。因此,例如,如果您有一个具有username属性的用户,那么activerecord将创建许多动态查找程序:

find_by_username
find_or_initialize_by_username #=> calls new if not found
find_or_create_by_username #=> calls create if not found
您可以将几个属性串在一起,如

find_by_username_and_email

回到你的问题上来-我怀疑你没有运行一些必要的迁移,将facebook\u id添加到db中的用户表中,因此ActiveRecord没有将facebook\u id的动态查找程序添加到类中。

我遇到了同样的问题,facebook\u id没有添加到db中。我已经运行了bundle exec rake db:migrate,并拥有2个数据库。我也在使用SQLite。这就是原因吗?我要么得到了上面提到的错误,要么,
当你没有预料到它时,你有一个nil对象!您可能期望数组的一个实例。计算nil时出错。[]
。。。当我稍微修改代码时,我想这意味着我的信息数组是空的。我想这就把我的范围缩小到这个推理上了。