Supresión en masa de temas desde /latest no funciona como se esperaba

Hola a todos,

Actualmente estoy usando el plugin Suppress category from latest para ocultar temas de la página /latest y al mismo tiempo mostrarlos dentro de sus respectivas categorías. Tengo alrededor de 200 categorías que quiero ocultar de /latest, y solo alrededor de 10 categorías que deberían mostrar temas en la página de inicio.

Para lograr esto, intenté ejecutar el siguiente código en la consola de Rails:

Category.all.each do |cat|
  cat.custom_fields["suppress_latest"] = true
  cat.save_custom_fields(true)
end

El comando parece ejecutarse sin errores (incluso devuelve {"suppress_latest"=>"t"}), pero cuando reviso la página /latest, los temas de esas categorías todavía son visibles.

Aquí están los pasos que ya he tomado:

  • Ejecuté ./launcher rebuild app y ./launcher restart app
  • Confirmé a través de la consola de Rails que el campo personalizado está configurado como "t" para las categorías afectadas
  • También he intentado borrar las cachés, pero nada parece cambiar

Parece que incluso después de configurar el campo personalizado, los temas de estas categorías todavía se muestran en la página de inicio. ¿Alguien ha experimentado este problema o ha encontrado una manera de suprimir temas masivamente de /latest de manera efectiva? ¿Existe algún problema de compatibilidad conocido con las subcategorías, o el plugin debería usar una clave/valor diferente para la supresión?

¡Cualquier orientación o enfoque alternativo sería muy apreciado!

¡Gracias!

Un vistazo rápido al núcleo no encuentra suppress_latest en el código.

¿Quizás quieres la configuración del sitio Silenciar todas las categorías por defecto?

1 me gusta

¡Autor del plugin aquí!

Debería ser
cat.custom_fields[:suppress_category_from_latest] = true

Pero… estos valores también se almacenan en caché en una variable de clase. La forma más fácil de lidiar con esto es save! la categoría también (ver aquí)

Así que esto funciona

Category.all.each do |cat|
  cat.custom_fields[:suppress_category_from_latest] = true
  cat.save_custom_fields(true)
  cat.save!
end
4 Me gusta

Hola RGJ,

Muchas gracias por tu orientación. Ejecuté el siguiente comando en mi consola de Rails:

Category.all.each do |cat|
  cat.custom_fields[:suppress_category_from_latest] = true
  cat.save_custom_fields(true)
  cat.save!
end

¡Todo funcionó perfectamente! Mis categorías ahora están suprimidas con éxito de la página /latest. Realmente aprecio tu ayuda.

Saludos cordiales,

3 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.