mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-22 21:06:22 +00:00
refactor: convertir lista de errores en un componente
This commit is contained in:
parent
255ea763b4
commit
5b9cd27a79
3 changed files with 29 additions and 38 deletions
19
app/views/posts/_errors.haml
Normal file
19
app/views/posts/_errors.haml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
- unless post.errors.empty?
|
||||||
|
- title = t('.errors.title')
|
||||||
|
- help = t('.errors.help')
|
||||||
|
= render 'bootstrap/alert' do
|
||||||
|
%h4= title
|
||||||
|
%p= help
|
||||||
|
|
||||||
|
%ul
|
||||||
|
- post.errors.each do |attribute, errors|
|
||||||
|
- if errors.size > 1
|
||||||
|
%li
|
||||||
|
%strong= post_label_t attribute, post: post
|
||||||
|
%ul
|
||||||
|
- errors.each do |error|
|
||||||
|
%li= error
|
||||||
|
- else
|
||||||
|
%li
|
||||||
|
%strong= post_label_t attribute, post: post
|
||||||
|
= errors.first
|
|
@ -1,22 +1,4 @@
|
||||||
- unless post.errors.empty?
|
= render 'errors', post: post
|
||||||
- title = t('.errors.title')
|
|
||||||
- help = t('.errors.help')
|
|
||||||
= render 'bootstrap/alert' do
|
|
||||||
%h4= title
|
|
||||||
%p= help
|
|
||||||
|
|
||||||
%ul
|
|
||||||
- post.errors.each do |attribute, errors|
|
|
||||||
- if errors.size > 1
|
|
||||||
%li
|
|
||||||
%strong= post_label_t attribute, post: post
|
|
||||||
%ul
|
|
||||||
- errors.each do |error|
|
|
||||||
%li= error
|
|
||||||
- else
|
|
||||||
%li
|
|
||||||
%strong= post_label_t attribute, post: post
|
|
||||||
= errors.first
|
|
||||||
|
|
||||||
-# TODO: habilitar form_for
|
-# TODO: habilitar form_for
|
||||||
:ruby
|
:ruby
|
||||||
|
@ -55,3 +37,11 @@
|
||||||
|
|
||||||
-# Formularios usados por los modales
|
-# Formularios usados por los modales
|
||||||
= yield(:post_form)
|
= yield(:post_form)
|
||||||
|
|
||||||
|
-#
|
||||||
|
Acumulador de formularios dinámicos, se van cargando a medida que se
|
||||||
|
necesitan en lugar de recursivamente.
|
||||||
|
|
||||||
|
Nunca se eliminan los modales una vez que se cargan para poder tener
|
||||||
|
historial de cambios.
|
||||||
|
%div{ data: { controller: 'htmx', action: 'htmx:getUrl@window->htmx#beforeend' } }
|
||||||
|
|
|
@ -47,25 +47,7 @@
|
||||||
end
|
end
|
||||||
|
|
||||||
= form_tag url, **options do
|
= form_tag url, **options do
|
||||||
- unless post.errors.empty?
|
= render 'errors', post: post
|
||||||
- title = t('.errors.title')
|
|
||||||
- help = t('.errors.help')
|
|
||||||
= render 'bootstrap/alert' do
|
|
||||||
%h4= title
|
|
||||||
%p= help
|
|
||||||
|
|
||||||
%ul
|
|
||||||
- post.errors.each do |attribute, errors|
|
|
||||||
- if errors.size > 1
|
|
||||||
%li
|
|
||||||
%strong= post_label_t attribute, post: post
|
|
||||||
%ul
|
|
||||||
- errors.each do |error|
|
|
||||||
%li= error
|
|
||||||
- else
|
|
||||||
%li
|
|
||||||
%strong= post_label_t attribute, post: post
|
|
||||||
= errors.first
|
|
||||||
|
|
||||||
-# Parámetros para HTMX
|
-# Parámetros para HTMX
|
||||||
%input{ type: 'hidden', name: 'hide', value: pluck_param((post.errors.empty? ? :show : :hide), optional: true) }
|
%input{ type: 'hidden', name: 'hide', value: pluck_param((post.errors.empty? ? :show : :hide), optional: true) }
|
||||||
|
|
Loading…
Reference in a new issue