Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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使用Twitter在用户创建后不存储某些值_Ruby On Rails_Omniauth - Fatal编程技术网

Ruby on rails Omniauth使用Twitter在用户创建后不存储某些值

Ruby on rails Omniauth使用Twitter在用户创建后不存储某些值,ruby-on-rails,omniauth,Ruby On Rails,Omniauth,我遵循RubyonRails教程,创建了自己的身份验证和注册系统。我现在正试图用使用Twitter身份验证的Omniauth来取代它 我按照railscast中的所有步骤进行了操作,但现在我尝试在用户创建时保存更多的用户信息字段,但它们没有保存。以下是创建用户的代码: def self.create_with_omniauth(auth) create! do |user| user.provider = auth["provider"] user.uid =

我遵循RubyonRails教程,创建了自己的身份验证和注册系统。我现在正试图用使用Twitter身份验证的Omniauth来取代它

我按照railscast中的所有步骤进行了操作,但现在我尝试在用户创建时保存更多的用户信息字段,但它们没有保存。以下是创建用户的代码:

  def self.create_with_omniauth(auth)
    create! do |user|
      user.provider = auth["provider"]
      user.uid = auth["uid"]
      user.name = auth["user_info"]["name"]
      user.email = auth["user_info"]["email"]
      user.time_zone = auth["user_info"]["time_zone"]
    end
  end
如果需要,这是我为当前用户编写的代码:

 def current_user
    @current_user ||= User.find(session[:user_id]) if session[:user_id]
  end
另外,在哪里可以找到使用twitter登录的用户的用户信息列表?我需要一些其他的信息,但似乎找不到


谢谢

简单的答案是twitter不允许你获取他们的电子邮件地址。

简单的答案是twitter不允许你获取他们的电子邮件地址。

你可以查看
auth.inspect
查看twitter发送回的确切内容。你可以查看
auth.inspect
查看twitter发送回的确切内容。