我正在尝试使用acts-as- tagable -on gem对Posts
的:type
表进行动态排序。
假设我的Post对象有3列:user, title和date。我可以很容易地排序表格后放入我的控制器@entries = Post.order(sort_column + " " + sort_direction).page(params[:page])
sort_column
和sort_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添加多态关联。您可以充分利用活动记录。
你必须这样做。这将使您的post
按alphabetical
的顺序排列。
Post.includes(:taggings).joins(:types).order("tags.name")
希望这有帮助。