Я следую этому руководству: http://emumair.wordpress.com/2011/03/17/social-network-authentication-with-omniauth-and-authlogic/. Я прошел через все это, и я получаю эту ошибку:omniauth с автологической проблемой с методом аутентификации
undefined method `authentications' for #User<User:0x54cd8d8>
Его неисправного в контроллере: приложение/контроллеры/authentications_controller.rb: 21: в `создать ':
user.authentications.build(:provider => omniauth['provider'], :uid => omniauth['uid'])
Нужно ли добавлять к модели пользователя отношения для аутентификации?
Моя модель пользователя в настоящее время выглядит следующим образом:
class User < ActiveRecord::Base
acts_as_authentic
def apply_omniauth(omniauth)
self.email = omniauth['user_info']['email']
# Update user info fetching from social network
case omniauth['provider']
when 'facebook'
# fetch extra user info from facebook
when 'twitter'
# fetch extra user info from twitter
end
end
end
Мой файл authentication.rb является:
class Authentication < ActiveRecord::Base
belongs_to :user
validates :user_id, :uid, :provider, :presence => true
validates_uniqueness_of :uid, :scope => :provider
end
Нужно ли выполнить миграцию, чтобы создать таблицу аутентификации? –
Да, я создал миграцию, показанную в учебнике, и запустил ее. – turbo2oh