我正在尝试向注册提供电子邮件和密码或使用 Facebook。
我试过使用https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview
我遵循了每个步骤,但是当我尝试运行 rails server 时,我在终端中遇到了以下错误:
'users/omniauth.callbacks' 不是受支持的控制器名称
我认为这是指我被指示制作的文件(app/controllers/users/omniauth_callback_controllers.rb),但删除该文件没有任何作用。我已经实现了设计,并且还安装了 Omniauth gem。我做错了什么?
我采取的步骤:
- 将 gem omniauth-facebook添加到我的 Gemfile
- 在终端中安装捆绑包
- Ran rails g 迁移 AddColumnsToUsers 提供者 uid
- 运行 rake db:migrate
- 将行config.omniauth :facebook, "APP_ID", "APP_SECRET"添加到文件 config/initializers/devise.rb
- 使用<%= link_to "Sign In With Facebooks", user_omniauth_authorize_path(:facebook %>
- 在 config/routes.rb 文件中添加了devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks}行
- (我感到困惑的部分)添加了一个新文件夹、用户和一个新文件omniauth_callbacks_controller.rb(文件路径是app/controllers/users/omniauth_callbacks_controller.rb)并包含代码(参见Imgur链接)
- 在 app/models/user.rb 文件中添加了代码(参见 Imgur 链接)