метод find_or_create_by_facebook_id не найден
-
20-09-2019 - |
Вопрос
Я пытаюсь выяснить, откуда взялась эта функция.У кого-нибудь есть какие-нибудь зацепки?Он используется этим:
http://github.com/fluidtickets/facebooker-authlogic-bridge
с рабочим примером здесь:
http://facebooker-authlogic-bridge.heroku.com
Загружая код, он выдает: undefined method 'find_or_create_by_facebook_id' for #<Class:0xb04dd1c>
Я понятия не имею, откуда берется эта функция.
Спасибо всем!
Решение
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_id в вашу таблицу users в БД, и поэтому ActiveRecord не добавляет динамический поисковик для facebook_id в класс.