Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails omniauth与authlogic问题与身份验证方法_Ruby On Rails_Ruby On Rails 3_Facebook Graph Api_Authlogic_Omniauth - Fatal编程技术网

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