In realtà, la tua domanda è la stessa di this question, ma ti spiegherò un po 'e sto provando a farlo.
In primo luogo, è necessario personalizzare la procedura di registrazione. (customize devise)
In secondo luogo, è possibile visualizzare un modulo di accesso personalizzato accanto al modulo di registrazione. (wiki)
Esempio passo per passo il mio progetto di esempio (solo ora ho provato costruire app)
percorso per disposizione testamentaria di registrazione personalizzare e sessione
devise_scope :user do
# using login path for registration
get '/login' => 'registrations#new', :as => :new_user_registration
post '/signup' => 'registrations#create', :as => :user_registration
post '/signin' => 'sessions#create', :as => :user_session
end
Crea controller per personalizzare la registrazione e l'impostazione della sessione, ad esempio:
# customize registration controller
class RegistrationsController < Devise::RegistrationsController
layout 'login'
skip_before_filter :require_no_authentication
before_filter :resource_name
def resource_name
:user
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
...
...
end
end
# customize session controller
class SessionsController < Devise::SessionsController
def create
super
end
end
Creare viste di registrazioneapp/registrations/new.html.erb
accesso Put e modulo di iscrizione inapp/registrations/new.html.erb
. (a fianco del modulo di iscrizione si presenta come il vostro progetto)
<%= form_for(resource, :as => resource_name, :url => user_session_path(resource_name)) do |f| %>
....
<% end %>
<%= form_for(resource, :as => resource_name, :url => user_registration_path(resource_name)) do |f| %>
....
<% end %>
E per ultimo, mettere questo in aiuto applicazione
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
Spero che questo aiuto!
fonte
2013-06-08 17:09:04
Grazie, proverò a implementarlo, come hai detto, guarda come sarà –
Funziona molto bene, a volte mi viene richiesto di registrarti (ad esempio se provo a registrarmi con un nome utente errato, ma è probabilmente "colpa mia" ...) –
@AndyHayden è una vulnerabilità di sicurezza se si reindirizza quando si indovina un nome utente errato. Si perdono i nomi utente che * si * hanno. Si prega di non farlo! – quantumpotato