Aslında, sorunuz this question ile aynıdır, ancak biraz açıklayacağım ve yapmaya çalışıyorum.
İlk olarak, kayıt ayarını özelleştirmelisiniz. (customize devise)
İkinci olarak, kayıt formunun yanında özel bir giriş formu görüntüleyebilirsiniz. Benim örnek proje adım tarafından (wiki)
Örnek adım
Rota özelleştir kayıt vasiyetle ve oturum için (sadece şimdi ben inşa app çalıştı)
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
oluştur kayıt ve oturum düzenleme özelleştirmek için denetleyici, örnek:
# 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
oluşturma kaydı görünümleriapp/registrations/new.html.erb
koyun login veapp/registrations/new.html.erb
içine kayıt formu.
<%= 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 %>
Ve son başvuru yardımcı içine
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
Umut bu yardım bu koymak (yanında kayıt form projeniz benziyor)!
Teşekkürler, bunu uygulamaya çalışacağım, söylediğin gibi, nasıl olacağını göreceksin –
Bu gerçekten işe yarıyor, atm bazen kaydolmaya yöneliyorum (örneğin, hatalı kullanıcı adıyla kaydolmaya çalışırsam, fakat Bu muhtemelen 'benim hatam' ...) –
@AndyHayden Eğer kötü bir kullanıcı adı tahmin edildiğinde yeniden yönlendirme yaparsanız bir güvenlik açığıdır. * Kullanıcı adının ne olduğu konusunda bir sızıntı var. Lütfen bunu yapma! – quantumpotato