Ho cercato dappertutto, e ho trovato molte informazioni ... ma niente funziona per me e non capisco :(Overriding Il controller di registrazione di Devise per consentire un reindirizzamento dopo che un sign_up riuscito è stato eseguito
so che si supponga di ignorare il controllo di registrazione, in questo modo:
class Users::RegistrationsController < Devise::RegistrationsController
def after_sign_up_path_for(resource)
authors_waiting_path
end
end
Poi, seguendo l'esempio mostrato da Tony Amoyal http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/, dovrei cambiare i miei percorsi per aggiornare l'accesso al nuovo controller :
devise_for :users, :controllers => { :registrations => "users/registrations" } do
#get '/author/sign_up', :to => 'devise/registrations#new'
#get '/client/sign_up', :to => 'devise/registrations#new'
get '/author/sign_up', :to => 'users/registrations#new'
get '/client/sign_up', :to => 'users/registrations#new'
end
Sì, ho qualcosa di un po 'strano qui, perché sto prendendo un percorso specifico per inviarli alla pagina di registrazione, questo mi permette di creare in modo efficace 2 scenario di registrazione. Ho commentato quello che avevo prima di aver scavalcato il controller di registrazione.
Anche con tutto questo e il mio authors_waiting_path essere un percorso valido, mantiene solo di andare al pagina di accesso dopo la registrazione :(
questo è davvero frustrante.
Alex
modifica : ho trovato anche questo sul wiki devise: https://github.com/plataformatec/devise/wiki/How-To:-Redirect-after-registration-(sign-up)
Ma non ho idea di dove poter definire questo metodo crea dovrei ignorare il controller sessione ???
?Edit 2:
ho messo un override di manichino del controller:
class Pouets::RegistrationsController < Devise::RegistrationsController
def after_sign_up_path_for(resource)
authors_waiting_path
end
def new
super
end
def create
puts "was here"
super
end
def edit
super
end
def update
super
end
def destroy
super
end
def cancel
super
end
end
E non ho mai il "Was Here" nei miei ceppi .... ho davvero la sensazione che è totalmente ignorando l'override ... mi deve fare qualcosa di sbagliato :(
Quale versione di binari stai usando? Quale versione di idea? –
Rails 3.0.3 e devise 1.1.5, ultima versione di entrambi se sono corretto – Alex