14

Sto usando acts-as-taggable-on per consentire ai miei modelli NewsItem e MediaItem di essere taggati. Per impostazione predefinita, l'accesso ai tag del modello utilizzando tag_list per un array di nomi di tag o direttamente tramite un'associazione utilizzando tags per la raccolta di ActsAsTaggableOn::Tag s, genera i tag in un ordine arbitrario. Mi piacerebbe che fossero sempre alfabetizzati. Non viene menzionata la documentazione relativa all'impostazione di un ordine predefinito, diverso da un modo di mantenere l'ordine in cui sono stati creati i tag (utilizzando acts_as_ordered_taggable nel modello).Ordine Tag in ordine alfabetico per impostazione predefinita utilizzando Atti come Taggable su

Ovviamente posso ordinarli ogni volta che chiamo tags utilizzando news_item.tags.order(:name), ma mi piacerebbe che questo fosse il comportamento predefinito in tutta l'applicazione e non voglio duplicare l'ordine ovunque sia necessario utilizzare i tag.

Come posso configurare il mio modello in modo che l'associazione tags restituisca sempre i suoi tag in ordine alfabetico?

risposta

5

Ho paura che questo tipo di ordinamento non possa essere eseguito nella versione corrente di act-as-taggable-on gem. È evidente dal source code che questa gemma supporta solo l'ordinamento per ID (conserva l'ordine di creazione) o nessun ordine.

C'è uno pull request open che consentirebbe l'ordinamento per nome o qualsiasi altro attributo, ma l'attività dello sviluppo della gemma sembra essere piuttosto stantia adesso (la richiesta pull è stata aperta da più di un anno). Forse potresti provare a chiedere lo stato di questa richiesta di pull lì.

Problemi correlati