Метки по алфавиту по умолчанию с использованием законов как Taggable On
Я использую acts-as-taggable-on, чтобы мои метки NewsItem и MediaItem были помечены. По умолчанию доступ к тегам модели с помощью tag_list
для массива имен тегов или напрямую через ассоциацию с использованием tags
для коллекции ActsAsTaggableOn::Tag
s приводит к тэгам в произвольном порядке. Я бы хотел, чтобы они всегда были в алфавитном порядке. В документации по настройке порядка по умолчанию нет указания, кроме способа поддержания порядка создания тегов (используя acts_as_ordered_taggable
в модели).
Очевидно, я могу их заказывать каждый раз, когда я вызываю tags
с помощью news_item.tags.order(:name)
, но я бы хотел, чтобы это было поведением по умолчанию во всем приложении и не пыталось дублировать порядок, где мне нужно использовать теги.
Как настроить мою модель так, чтобы ее ассоциация tags
всегда возвращала свои теги в алфавитном порядке?
Ответы
Ответ 1
Я боюсь, что такой порядок не может быть выполнен в текущей версии gem. Из исходного кода видно, что этот драгоценный камень действительно поддерживает только упорядочение по идентификаторам (сохраняет порядок создания) или вообще не упорядочивает.
Существует запрос на перенос, который позволяет упорядочивать по имени или любому другому атрибуту, но активность разработки gem кажется довольно устаревшей прямо сейчас (запрос на растяжение открыт уже более года). Возможно, вы можете попытаться спросить о статусе этого запроса на растяжение.