Метод find_or_create_by_facebook_id не найден - PullRequest
1 голос
/ 18 марта 2010

Я пытаюсь выяснить, откуда взялась эта функция. У кого-нибудь есть подсказка? Это используется этим:

http://github.com/fluidtickets/facebooker-authlogic-bridge

с рабочим примером здесь:

http://facebooker -authlogic-bridge.heroku.com

Скачивая код, выкидывает: undefined method 'find_or_create_by_facebook_id' for #<Class:0xb04dd1c>

Понятия не имею, откуда взялась эта функция.

Спасибо всем!

1 Ответ

2 голосов
/ 18 марта 2010

ActiveRecord создает динамические искатели на основе столбцов в вашей базе данных. Так, например, если у вас есть пользователь с атрибутом имени пользователя, тогда 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_id к вашей таблице пользователей в БД, и поэтому ActiveRecord не добавляет динамический искатель для facebook_id в класс. *

...