Bloques editables en la página (no relacionados con el modelo relacionado con SEO) en Ruby on Rails

Mi SEO-personas no escriben código. Todo lo que aman es crear buenos textos. Todo lo que pueden hacer es pegar textos en la base de datos a través de algunos buenos formularios.

El problema es que a veces me preguntan: tenemos que poner el texto en el pie de página. Necesitamos poner algún otro texto en el encabezado de la página.

¡Y simplemente no puedo editar el código cada vez que SEO-man me pregunta!

Y a veces el texto no está relacionado directamente con el modelo. Creo que me entenderán que es una mala idea crear el campo footer_block dentro de un modelo Car o Person .

Qué bueno sería si hubiera una gema que pudiera:

  1. Cargar datos de texto de la base de datos por clave (por ejemplo, 'FOOTER_BLOCK'). ¡Dejarme no convertir los modelos en un desastre!
  2. Danos formularios donde una persona de SEO podría pegar el texto
  3. (Sería bueno) Danos un editor WISIWIG.

PD: un ejemplo de tal funcionalidad (pero no en Ruby): solía codificar en python/Django. Y usamos el paquete django-flatblocks - se ajustaba a estos 3 criterios.

0
Escribiendo una respuesta para ti
agregado el autor Richard Peck, fuente

1 Respuestas

No conozco ninguna gema que pueda hacer esto, pero espero poder arrojar algo de luz sobre cómo podrías lograrlo


Bloques de código

Puede crear una tabla (y modelo) llamada code_blocks . El esquema puede verse así:

code_blocks
id | title | body | created_at | updated_at

Esto le permitirá crear cualquier número de registros en esta tabla que desee, y luego llamarlos desde su aplicación sin la necesidad de acciones específicas del controlador


Mostrar

Podrías hacer esto:

#app/helpers/application_helper.rb
def code_block(id)
    block = CodeBlock.find(id)
    return block.body
end

Esto puede ser ineficiente, pero le permitirá incluir los bloques de código donde quiera en la página, independientemente de las acciones del controlador

Entonces, por ejemplo, si tiene un bloque de pie de página con id como 3, podría poner:

<%= code_block(3) %>

Edición

Esto significa que si tiene un formulario de back-end simple, puede configurarlo para que enumere los bloques por título, y permita a los chicos de SEO editar el HTML con un editor WYSIWYG (guardando el HTML en el cuerpo columna)

0
agregado
¡Gracias! Pero todavía me gustaría si hubiera una gema que me ayudara a evitar la codificación (incluso backends simples). ¡Oye, podría usar ActiveAdmin o algo así! :)
agregado el autor Nikita Hismatov, fuente