Domanda

Nella mia applicazione, invio periodiche richieste di cron e attività in background per aggiornare la cache delle pagine. Mentre l'invio di un kwarg force_refresh dalla vista è semplice, non esiste alcun modo apparente per inviare il kwarg force_refresh ai metodi a cui si accede dal modello. Ci sono molti di questi che sto usando e renderebbe le cose più complesse iniziare a chiamare tutti questi metodi dalla vista.

Quindi ho cercato di sovrascrivere il metodo di rendering del modello in modo da passare il force_refresh kwarg ogni volta che si accede a un metodo, se la risposta fornita è per una richiesta di attività in background.

Mi rendo conto che potrebbe semplicemente portare a problemi imprevisti aggiungere questo kwarg a tutti i metodi chiamati, e un blocco try / tranne ArgumentError non sarebbe esattamente una soluzione solida, se hai qualche consiglio su un modo migliore di gestire questo (si spera oltre ad accedere a ciascuno di questi metodi dalla vista!), sarebbe utile ascoltarli.

È stato utile?

Soluzione

Siamo spiacenti, ma il tuo caso d'uso è esattamente quello a cui serve la funzione di visualizzazione.

Nella funzione di visualizzazione raccogli tutti i dati. Da questo si crea un dizionario degli ultimi dati che verranno utilizzati dal modello.

Tutta la logica va nella vista. Il modello ha un'elaborazione minima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top