Vorrei mostrare un piccolo tocco di stile per tutti i gruppi di un utente su ogni post in un argomento (sotto il nome utente). Ho la funzionalità di base funzionante, ma mi sono bloccato nel trovare i gruppi dell’utente che ha effettuato il post. Negli attrs del widget post-meta-data, posso trovare alcuni dettagli dell’utente, ma i gruppi non sono inclusi. Penso di dover aggiungere i gruppi al serializzatore del post, ma non sono sicuro di come farlo.
Ciao,
Non sono un esperto, ma in un plugin puoi aggiungere il campo groups al serializzatore del post, qualcosa del genere:
add_to_serializer(
:post,
:groups
) { object.user&.groups }
Tuttavia, tieni presente che, così com’è, chiunque può vedere in quale gruppo si trova una persona.
Detto questo, credo che finché utilizzi un flair, il nome del gruppo sarà visibile a chiunque, indipendentemente dalle autorizzazioni.
Potresti anche inserire un nuovo campo available_flairs per restituire solo i campi necessari dei flair del gruppo:
add_to_serializer(:post, :available_flairs) do
flairs = Array(object.user&.groups&.map do |group|
next unless group.flair_url
{
id: group.id,
name: group.name,
url: group.flair_url,
bgColor: group.flair_bg_color,
color: group.flair_color
}
end).compact
flairs
end
Spero che questo aiuti. ![]()
Questo componente potrebbe essere di interesse durante la creazione di un post, magari per aggiungere dei “flair” al post durante la creazione?
La seconda soluzione è esattamente quello che sto cercando, ma non riesco a farla funzionare. Per qualche motivo l’array available_flairs non compare affatto. Sto presumendo correttamente che il codice debba andare in plugins.rb?
Per apparire nel contesto post-meta-data, prova a usare l’API. Dovrebbe funzionare!
api.includePostAttributes("available_flairs");
Ha funzionato. Grazie per l’aiuto!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
