我正在尝试使用acts-as-taggable-on gem动态排序Posts
:type
表。
让我们说我的Post对象有3列:用户,标题和日期。我可以通过放入我的控制器@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?
...
是否有一种简单的方法按类型按字母顺序对表格进行排序?
答案 0 :(得分:2)
acts-as-taggable-on
gem增加了多态关联。您可以充分利用Active记录。
你必须做这样的事情。这将以post
的顺序提供alphabetical
。
Post.includes(:taggings).joins(:types).order("tags.name")
希望这有帮助。