【问题标题】:Devise Omniauth error missing method?设计 Omniauth 错误丢失方法?
【发布时间】:2018-10-19 16:30:47
【问题描述】:

我收到此错误: 无法为 Users::OmniauthCallbacksController 找到操作“github”

我到处寻找并尝试了其他人帖子上的其他建议。

这是关于堆栈溢出的帖子,但他们有一个错字,我没有同样的错误。 Devise OmniauthsController not being used

此建议说要检查 rake 路线,但我的路线与我所指的相符。 https://github.com/plataformatec/devise/issues/1566

大多数其他链接都是类似的问题,我仔细检查了我的信息,更改了内容,但仍然出现错误。

关于我的代码的信息。 宝石文件:

gem 'omniauth-github'

config/routes.rb:

  devise_for :users, :controllers => { :omniauth_callbacks => 'users/omniauth_callbacks' }

用户::OmniauthCallbacksController:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

定义 github @user = User.from_omniauth(request.env["omniauth.auth"]) 如果@user.persisted? sign_in_and_redirect @user, 事件: :authentication set_flash_message(:notice, :success, kind: "Github") if is_navigational_format? 别的 重定向到根路径 结尾 结尾 结束

用户模型:

  devise :database_authenticatable, :registerable,

:recoverable, :rememberable, :trackable, :validatable, :omniauthable, :omniauth_providers => [:github]

  def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
  user.email = auth.info.email
  user.uid = auth.uid
  user.provider = auth.provider
  user.password = Devise.friendly_token[0, 20]
  user.name = auth.info.name  #assuming the user model has a name
  user.oauth_token = auth.credentials.token
  user.image = auth.info.image #assuming the user model has an image
  user.save!
end

结束

设计初始化器:

  config.omniauth :github, Rails.application.secrets.github_client_id, Rails.application.secrets.github_client_secret, scope: 'user:email'

不知道该怎么做,因为我在 Users::OmniauthCallBacks 控制器中有方法?我错过了什么吗?我已经梳理了一整天。

【问题讨论】:

    标签: ruby-on-rails devise omniauth


    【解决方案1】:

    更新:不知何故,我在控制器中有 2 个用户文件夹,但其中一个被隐藏了?当我昨晚恢复到以前的回购时,它一定搞砸了。一旦我删除了文件夹,一切都很好!

    【讨论】:

      猜你喜欢
      • 2014-09-12
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多