La soppressione di massa delle discussioni da /latest non funziona come previsto

Ciao a tutti,

Attualmente sto utilizzando il plugin Suppress category from latest per nascondere gli argomenti dalla pagina /latest pur continuando a visualizzarli all’interno delle rispettive categorie. Ho circa 200 categorie che voglio nascondere da /latest e solo circa 10 categorie che dovrebbero mostrare gli argomenti sulla homepage.

Per raggiungere questo obiettivo, ho tentato di eseguire il seguente codice nella console Rails:

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

Il comando sembra essere eseguito senza errori (restituisce anche {"suppress_latest"=>"t"}), ma quando controllo la pagina /latest, gli argomenti di quelle categorie sono ancora visibili.

Ecco i passaggi che ho già intrapreso:

  • Ho eseguito ./launcher rebuild app e ./launcher restart app
  • Ho confermato tramite la console Rails che il campo personalizzato è impostato su "t" per le categorie interessate
  • Ho anche provato a svuotare la cache, ma nulla sembra cambiare

Sembra che, anche dopo aver impostato il campo personalizzato, gli argomenti di queste categorie vengano ancora visualizzati sulla homepage. Qualcuno ha riscontrato questo problema o ha trovato un modo per sopprimere in blocco gli argomenti da /latest in modo efficace? Esiste un problema di compatibilità noto con le sottocategorie, o il plugin dovrebbe utilizzare una chiave/valore diverso per la soppressione?

Qualsiasi consiglio o approccio alternativo sarebbe molto apprezzato!

Grazie!

Uno sguardo veloce al core non trova suppress_latest nel codice.

Forse desideri l’impostazione del sito Mute all categories by default?

1 Mi Piace

Plugin author qui!

Dovrebbe essere
cat.custom_fields[:suppress_category_from_latest] = true

Ma… questi valori sono anche memorizzati nella cache di una variabile di classe. Il modo più semplice per gestire questo è anche save! la categoria (vedi qui)

Quindi questo funziona

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

Ciao RGJ,

Grazie mille per la tua guida. Ho eseguito il seguente comando nella mia console Rails:

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

Tutto ha funzionato perfettamente! Le mie categorie sono ora correttamente nascoste dalla pagina /latest. Apprezzo molto il tuo aiuto.

Cordiali saluti,

3 Mi Piace

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