Rails 6: Creando una declaración IF para etiquetas meta_condicionales basada en el valor de la base de datos.
Pregunta
He mirado varias páginas, pero mi cerebro no puede conectar la brecha de cómo debería lucir esta respuesta.
Problema: necesito que las páginas de espectáculo generadas por la base de datos sean muy específicas para tener <meta name="robots" content="noindex">
. Sé que esto requerirá una declaración IF en algún lugar. Entonces se reduce a que necesito páginas de índice de personas específicas controladas por la base de datos para no ser indexadas por los motores de búsqueda, ya que sus páginas realmente no deberían existir. (Si @person.position == "hide"
, no deben existir para un motor de búsqueda)
Configuración: mi aplicación está configurada con una página de layout/application
que contiene todo el HTML, encabezado, pie de página, metadatos y una llamada de rendimiento para todos los datos de cada página que se muestran en el navegador.
No estoy seguro de dónde irá la declaración IF. ¿Necesitaré agregar una llamada al controlador? Cuanto más miro esto, parece un enfoque súper descuidado.
davy.ai
Solución:
Puede agregar una instrucción
if
a la páginalayout/application
para verificar la posición de@person
y agregar la etiqueta<meta name="robots" content="noindex">
si la posición de@person
es igual a"hide"
.Por ejemplo:
...
<% if @person.position == "hide" %>
<% end %>
...