tutorial rails programar ejemplos caracteristicas aprender ruby-on-rails devise views

ruby on rails - programar - Personalizar vistas de diseño en Rails



ruby on rails ejemplos (8)

Estoy usando el diseño para la autenticación del usuario, pero tengo buenas maquetas para las páginas de registro, inicio de sesión, etc. Ya he hecho los rails generate devise:views User comando de rails generate devise:views User y tiene todas las vistas en la carpeta views, sin embargo, cuando reemplacé el registro / new.html.erb con mi propio new.html.erb, nada cambia ni se ve diferente. Es como si hubiera hecho algo.

Alguien sabe lo que estoy haciendo mal o al menos cómo personalizar con éxito vistas de diseño

PD: ¿Es importante tener en cuenta que he cambiado la ruta de diseño / registro de # nuevo en / registro?


Después de generar sus vistas personalizadas, por ejemplo

rails generate devise:views User

Active scoped_views en config/initializer/devise.rb

view config.scoped_views = true

Y has terminado.


Para cualquiera que todavía tenga un problema con esto, el problema radica en que la llamada a los rails generate devise:views User . Debería ser rails generate devise:views para obtener vistas actuales del motor Devise Rails. Esto generará vistas adecuadas que funcionarán con las rutas predeterminadas.


Para referencia futura, puede cambiar el nombre de la carpeta desde el dispositivo => usuario y viceversa y los rieles encontrarán una ruta.


Su signup ruta o devise/registrations#new representará las vistas de views/devise/registrations/new.html.erb . Parece que realizó cambios en views/user/registrations/new.html.erb , lo que explicaría por qué no ve los cambios realizados, ya que no se representan.

Necesitarás crear un user/registrations_controller.rb que se extienda desde Devise::RegistrationsController y apuntar tu /signup ruta de /signup a user/registrations#new , o puedes simplemente hacer tus cambios directamente a views/devise/registrations/new.html.erb

La misma idea se aplica a sus páginas de inicio de sesión ( devise/sessions ).

Espero que esto ayude.


Tuve el mismo problema hasta que volví y leí la documentación del inventor :)

Después de que los rails generate devise:views aseguran de entrar en initializers/devise.rb y configurar config.scoped_views = true . Esto se explica en la documentación de devise.rb en https://github.com/plataformatec/devise , así como en los comentarios de devise.rb .

Después de hacer esto, mis propios puntos de vista en views/users comenzaron a aparecer en lugar de los de la gema.


Uso de rails g devise:views User permite personalizar cuando tiene más de una función.

la forma correcta de hacerlo es ir a su devise.rb en config/initializer/ folder

y descomentar y configurar config.scoped_views = true .

ahora puede editar los archivos erb de vista sin ningún problema


aunque esta es una vieja pregunta, pensé que me gustaría agregarla en caso de que alguien se tropiece con ella. No estoy seguro si esto es una nueva adición ya que la pregunta fue formulada originalmente, pero si es así, el enfoque más simple (más moderno) es este.

en el archivo config/initializers/devise.rb hay el siguiente bloque de código:

# ==> Scopes configuration # Turn scoped views on. Before rendering "sessions/new", it will first check for # "users/sessions/new". It''s turned off by default because it''s slower if you # are using only default views. # config.scoped_views = false

al descomentar config.scoped_views = false y cambiar su valor a true , idear automáticamente comprobará si la vista personalizada existe y, de ser así, lo publicará. Como se dice, agrega un poco de sobrecarga a la aplicación, pero en mi experiencia hasta ahora esto es mínimo.


de un vistazo respuesta.

...en lugar de

rails generate devise:views User

utilizar:

rails generate devise:views

Si ya lo ha hecho, mueva las carpetas creadas desde la app/views/User a una nueva carpeta de app/views/devise (o simplemente cambie el nombre de la carpeta de User para devise , si esa es una opción).

Esas carpetas son:

app/views/User/confirmations app/views/User/mailer app/views/User/passwords app/views/User/registrations app/views/User/sessions app/views/User/shared app/views/User/unlocks

No hay otros cambios son necesarios.