0
我一直在嘗試將我的應用程序設置爲將新註冊/註冊重定向到我的應用程序中的特定路線。我已經使用推薦在app /控制器/用戶創建一個註冊控制器色器件文檔/然後使用使用Devise&Omniauth註冊後重定向
def after_sign_up_path_for(resource)
show_cities_path(resource)
end
,但我還沒有任何運氣,甚至編輯routes文件,包括它之後。
devise_for :users, :controllers => { :omniauth_callbacks => "omniauth_callbacks", :registrations => "users/registrations" }
我目前使用Twitter Omniauth與Devise。
我的路線文件如下:
Rails.application.routes.draw do
devise_for :users, :controllers => { :omniauth_callbacks => "omniauth_callbacks" }
末
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def twitter
auth = env["omniauth.auth"]
@user = User.find_for_twitter_oauth(request.env["omniauth.auth"],current_user)
if @user.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success"
sign_in_and_redirect @user, :event => :authentication
else
session["devise.twitter_uid"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
end
誰能推薦一個替代方法或告訴我在哪裏出了錯?
編輯:對不起,可能沒有清楚。我已經有了使用Devise和Omniauth的用戶模型設置。這是新註冊的重點。
你見過本教程[鏈接](http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/)。 – kendotwill 2014-09-06 15:38:38
@kendotwill是的。對不起,我可能不清楚。用戶模型與Devise&Omniauth完美結合。我只是試圖在新用戶註冊時覆蓋重定向。 – DMH 2014-09-06 15:40:16
什麼控制器在'after_sign_up_path_for'方法中做了什麼?我認爲你應該把它移到應用程序控制器。 – Thanh 2014-09-06 15:44:35