registro pantalla pagina ingreso editar como cambiar ruby-on-rails-3 devise

ruby on rails 3 - pantalla - Cómo cambiar las URL de inicio de sesión y registro en el complemento de desarrollo Rails3



editar pagina de registro wordpress (5)

Estoy usando el complemento del dispositivo en mi nueva aplicación Rails 3. Mi problema es que el complemento de diseño tiene raíces predeterminadas para iniciar sesión y registrarse

/users/sign_in /users/sign_up

Necesito cambiar esto a

/login /signup

Para esto usé el siguiente enrutamiento

devise_for :users do get "login", :to => "devise/sessions#new" get "signup", :to => "devise/registrations#new" end

Con esto necesito especificar ''login_path'' y ''signup_path'' en todas partes en mis vistas donde vienen new_user_session_path y new_user_registration_path

Lo que quiero es una configuración en las rutas que mapea ''/ login'' y ''/ signup'' a new_user_session_path y new_user_registration_path.

He visto una publicación que enruta / users / sign_in y / users / sign_up a / sign_in y / sign_up usando el enrutamiento mostrado a continuación.

devise_for :user, :as => ''''

Necesito alguna técnica de enrutamiento como esta que enrute / users / sign_in y / users / sign_up a / login y / signup.

¿Alguien podría ayudarme con esto?

ACTUALIZACIÓN: he cambiado mi archivo routes.rb a

devise_for :users, :controllers => { :sessions => ''devise/sessions''}, :skip => [:sessions] do get ''/login'' => "devise/sessions#new", :as => :new_user_session post ''/login'' => ''devise/sessions#create'', :as => :user_session get ''/signout'' => ''devise/sessions#destroy'', :as => :destroy_user_session get ''/signup'' => ''devise/registrations#new'', :as => :new_user_registration end

Pero aun así, cuando uso link_to ''new_user_registration'' en mis vistas, no aparece como ''/ signup'' en el navegador


Aquí hay un poco más opciones de las que pediste, pero está claro:

devise_for :users, :controllers => { :registrations => "users/registrations", :confirmations => "users/confirmations", :sessions => ''devise/sessions''}, :skip => [:sessions] do get ''/signin'' => "devise/sessions#new", :as => :new_user_session post ''/signin'' => ''devise/sessions#create'', :as => :user_session get ''/signout'' => ''devise/sessions#destroy'', :as => :destroy_user_session get "/signup" => "users/registrations#new", :as => :new_user_registration end

Aún más, con :registrations => "users/registrations" podemos personalizar redirecciones:

class Users::RegistrationsController < Devise::RegistrationsController protected def after_sign_up_path_for(resource) welcome_path # it''s not a home path end def after_update_path_for(resource) edit_user_registration_path end end

Devise tiene una buena wiki .


Pude solucionar mi problema usando el siguiente código en mis rutas

devise_for :users, :controllers => { :sessions => ''devise/sessions''}, :skip => [:sessions] do get ''/login'' => "devise/sessions#new", :as => :new_user_session post ''/login'' => ''devise/sessions#create'', :as => :user_session get ''/signout'' => ''devise/sessions#destroy'', :as => :destroy_user_session get "/signup" => "devise/registrations#new", :as => :new_user_registration end

Pero aún en mi opinión si uso

link_to "Register", new_user_registration_path

En mi navegador se muestra como

/user/sign_up and not as /signup

Pero si escribo / me registro directamente, obtendré la página de registro. ¿Hay algún mapeo que necesite hacer aquí?


Si estoy leyendo y entendiendo tu pregunta correctamente, estás buscando ''coincidencia''.

devise_for :users match "/login" => "devise/sessions#new" match "/signup" => "devise/registrations#new"

Asegúrese de tenerlos en el orden correcto ya que coinciden según los números de línea en el archivo.

Se puede encontrar más en: http://guides.rubyonrails.org/routing.html


editar config / routes.rb

devise_for: users, path: ''''

devise_for :users, path: '''', path_names: { sign_in: ''login'', sign_out: ''logout'', password: ''secret'', confirmation: ''verification'', unlock: ''unblock'', registration: ''register'', sign_up: ''cmon_let_me_in'' } new_user_session GET /login(.:format) devise/sessions#new user_session POST /login(.:format) devise/sessions#create destroy_user_session DELETE /logout(.:format) devise/sessions#destroy user_password POST /secret(.:format) devise/passwords#create new_user_password GET /secret/new(.:format) devise/passwords#new edit_user_password GET /secret/edit(.:format) devise/passwords#edit PATCH /secret(.:format) devise/passwords#update PUT /secret(.:format) devise/passwords#update cancel_user_registration GET /register/cancel(.:format) devise/registrations#cancel user_registration POST /register(.:format) devise/registrations#create new_user_registration GET /register/cmon_let_me_in(.:format) devise/registrations#new edit_user_registration GET /register/edit(.:format) devise/registrations#edit PATCH /register(.:format) devise/registrations#update PUT /register(.:format) devise/registrations#update DELETE /register(.:format) devise/registrations#destroy


espero no ser demasiado tarde;)

así es como funciona (solo péguelo en su routes.rb y listo):

devise_for :users, :controllers => {:sessions => ''devise/sessions''}, :skip => [:sessions] do get ''login'' => ''devise/sessions#new'', :as => :new_user_session post ''login'' => ''devise/sessions#create'', :as => :user_session get ''logout'' => ''devise/sessions#destroy'', :as => :destroy_user_session get ''register'' => ''devise/registrations#new'', :as => :new_user_registration end