ruby-on-rails - quimica - ruby on rails pdf
Cómo crear formas de asistente en ruby sobre rieles. (5)
Debes ver este episodio de rieles en formas de varios pasos:
http://railscasts.com/episodes/217-multistep-forms
Esté preparado para rebobinar y mirar de nuevo. ¡Es muy rápido!
Estoy tratando de entender las mejores opciones para obtener un formulario de asistente en ruby on rails. Idealmente, me gustaría tenerlo para que el registro de la aplicación tenga un botón "Atrás y Siguiente" que le permita al usuario enviar datos en pasos.
Así que en el paso 1 podrían completar la información de contacto. Una vez que hayan terminado, podrían hacer clic en siguiente y estar en el paso 2 para completar la información de pago, etc. Si cometen un error, pueden hacer clic en atrás y corregirlo. Se requerirán algunos pasos, mientras que otros no lo serán, pero debe ir al último paso para enviar los datos a la base de datos para registrarse. Luego, necesitan la capacidad de regresar y completar los pasos anteriores de la misma manera después de completarlos. (ejemplo: tal vez si hicieran clic en un enlace de perfil, podrían volver a completar los pasos de la misma manera porque no quisieron completar todos los pasos de inmediato. ). También necesito que se realice una validación sobre qué pasos se han completado para evitar que se muevan al siguiente paso hasta que se corrijan o completen.
Opción 1) Me he dado cuenta de que ajax se ha recomendado como una opción en otras preguntas sobre stackoverflow. El único problema que tengo con esto es que el usuario no podría registrarse si JavaScript estaba deshabilitado. Idealmente, me gustaría que fuera nativo de Ruby on Rails, pero estoy dispuesto a trabajar con lo que sea necesario para que funcione.
Eche un vistazo a https://github.com/schneems/wicked , que se explica en este enlace de carriles: http://railscasts.com/episodes/346-wizard-forms-with-wicked?autoplay=true
Hay un par de plugins que proporcionan facilidades de construcción de wizzard en los rieles.
Los actos de mago y Wizardly parecen los más populares.
La idea principal es:
* Crea un modelo en el primer paso.
* luego edítalo en pasos subsiguientes,
* aplicando validación parcial en cada paso y
* Tener el modelo implementado algún tipo de máquina de estado.
Un enfoque alternativo, especialmente para formularios de pasos múltiples más simples, es simplemente mostrar y ocultar partes de un solo formulario dependiendo del paso, de esta manera no golpea la base de datos en cada paso sino que permite al usuario construir su objeto hasta que se listo con una instancia válida.
Tal enfoque favorece fuertemente el uso de una clase de formulario en lugar de trabajar con el modelo directamente ( http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/ ) y necesitas ajustar un poco el mensaje de error.
Ventajas: solo un db hit, sin problemas con las instancias no válidas persistentes (no columnas nulas, correcciones de estado de cuenta antes de guardar errores), sin infierno de devolución de llamada
Contras: más html enviado al usuario, ajustes de mensaje de error, requiere una clase de formulario bien construida para ser elegante y realmente útil
Wicked se ve prometedor para los rieles 3: