【发布时间】:2013-06-14 00:45:11
【问题描述】:
我正在与 devise 合作,我正在尝试允许用户使用 twitter/facebook 进行注册。我很困惑,因为我不断得到\ 没有路由匹配 {:controller=>"authentications", :action=>"passthru", :provider=>:twitter, :format=>nil} 缺少必需的键:[:provider]
Routes.rb
devise_for :users,controllers: {omniauth_callbacks: "authentications", registrations: "registrations"}
AuthenticationController.rb
class AuthenticationsController < ApplicationController
def index
@authentications = Authentication.all
end
def create
@authentication = Authentication.new(params[:authentication])
if @authentication.save
redirect_to authentications_url, :notice => "Successfully created authentication."
else
render :action => 'new'
end
end
def destroy
@authentication = Authentication.find(params[:id])
@authentication.destroy
redirect_to authentications_url, :notice => "Successfully destroyed authentication."
end
def twitter
raise omni = request.env["omniauth.auth"].to_yaml
end
end
【问题讨论】:
-
好的,首先要阅读这个github.com/plataformatec/devise/wiki/OmniAuth:-Overview 非常详细的指南。如有任何进一步的问题,请提出,好像你走错了路
标签: ruby-on-rails devise twitter omniauth facebook-authentication