Ruby on rails omniauth与authlogic问题与身份验证方法
我一直在学习本教程:。我经历了这一切,我得到了这个错误:Ruby on rails omniauth与authlogic问题与身份验证方法,ruby-on-rails,ruby-on-rails-3,facebook-graph-api,authlogic,omniauth,Ruby On Rails,Ruby On Rails 3,Facebook Graph Api,Authlogic,Omniauth,我一直在学习本教程:。我经历了这一切,我得到了这个错误: undefined method `authentications' for #User<User:0x54cd8d8> 我是否需要将关系添加到用户模型以进行身份验证 我的用户模型当前如下所示: class User < ActiveRecord::Base acts_as_authentic def apply_omniauth(omniauth) self.email = omniauth['user_info'
undefined method `authentications' for #User<User:0x54cd8d8>
我是否需要将关系添加到用户模型以进行身份验证
我的用户模型当前如下所示:
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
你需要加上这个
class User < ActiveRecord::Base
has_many :authentications
还要注意
omniauth['user_info']['email']
改为
omniauth['info']['email']是否需要运行迁移来创建身份验证表?是的,我创建了教程中显示的迁移并运行了它。
class User < ActiveRecord::Base
has_many :authentications