使用acts-as- tagable -on gem对关联进行排序



我正在尝试使用acts-as- tagable -on gem对Posts:type表进行动态排序。

假设我的Post对象有3列:user, title和date。我可以很容易地排序表格后放入我的控制器@entries = Post.order(sort_column + " " + sort_direction).page(params[:page])

sort_columnsort_direction简称为:

def sort_column
  Post.column_names.include?(params[:sort]) ? params[:sort] : "published_at"
end
def sort_direction
  %w[asc desc].include?(params[:direction]) ? params[:direction] : "desc"
end
但是,Post也可以附加一个类型。在我的Post模型中,我有:
acts_as_taggable
acts_as_taggable_on :types 

,在我的视图的表格中,我只是通过写

来显示标签

视图/文章/_posts.html.slim

...
td.tags = entry.type_list.first.titleize unless entry.type_list.blank?
...

是否有一个简单的方法来按字母顺序排序表的类型?

acts-as-taggable-on gem添加多态关联。您可以充分利用活动记录。

你必须这样做。这将使您的postalphabetical的顺序排列。

Post.includes(:taggings).joins(:types).order("tags.name")

希望这有帮助。

最新更新