devo ignorare Devise controllore sessioni durante la procedura di accesso (Rotaie 3.0.9, rubino 1.9.2, ideare 1.3.4), ho provato questo senza alcun effettoRails 3 Azionatore escogitare sessioni controllore
class SessionsController < Devise::SessionsController
# GET /resource/sign_in
def new
resource = build_resource
clean_up_passwords(resource)
respond_with_navigational(resource, stub_options(resource)){ render_with_scope :new }
end
end
idee?
MODIFICA Come indicato nella risposta, ho anche bisogno di cambiare il percorso. Inoltre, ho anche bisogno di copiare le viste. E 'meglio spiegato qui http://presentations.royvandewater.com/authentication-with-devise.html#8
La mia strategia su misura:
devise.rb
config.warden do |manager|
manager.strategies.add(:custom_strategy) do
def authenticate!
... authenticate against 3rd party API...
if res.body =~ /success/
u = User.find_or_initialize_by_email(params[:user][:email])
if u.new_record?
u.save
end
success!(u)
end
end
end
Sì, l'ho capito anch'io e devo anche copiare i punti di vista. Mantengo la rotta originale 'devise_for: users' in aggiunta alla modifica sopra? Non desidero ignorare le altre azioni. –
C'è un altro problema con questo, inoltre non esegue la strategia di autenticazione del database predefinita oltre alla strategia personalizzata che aggiungo, non so come risolvere questo problema. –
Dovrebbe esserci solo 1 'devise_for', e dopo aver copiato le viste dovrebbe funzionare anche con le azioni non sovrascritte. Per quanto riguarda l'altro problema, non sto seguendo completamente. Hai l'opzione ': database_authenticatable' impostata nel tuo modello. (cioè ideare: database_authenticatable) – Olives