【问题标题】:Order Tags Alphabetically By Default Using Acts As Taggable On默认情况下,使用可标记的行为按字母顺序排列标签
【发布时间】:2015-05-15 19:30:19
【问题描述】:

我正在使用acts-as-taggable-on 来标记我的 NewsItem 和 MediaItem 模型。默认情况下,使用tag_list 访问模型的标签以获取标签名称的数组,或者直接通过使用tags 的关联来获取ActsAsTaggableOn::Tags 的集合,从而以任意顺序生成标签。我希望它们总是按字母顺序排列。文档中没有提到设置默认顺序,除了一种维护标签创建顺序的方法(在模型中使用acts_as_ordered_taggable)。

显然,我每次使用news_item.tags.order(:name) 调用tags 时都可以订购它们,但我希望这是整个应用程序的默认行为,并且不想在需要使用标签的地方重复订购。

如何设置我的模型,使其tags 关联始终按字母顺序返回其标签?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 tags acts-as-taggable-on


    【解决方案1】:

    恐怕这种排序在当前版本的acts-as-taggable-on gem 中是做不到的。从source code 可以明显看出,这个 gem 确实只支持按 ID 排序(保留创建顺序)或根本不支持排序。

    有一个 pull request open 允许按名称或任何其他属性进行排序,但 gem 开发的活动现在似乎相当陈旧(拉取请求已经开放一年多了)。也许您可以尝试在那里询问此拉取请求的状态。

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多