我有类似的东西
posts = Post.all
posts[1].tags => "one, two, three"
posts[2].tags => "two, three, four"
posts[3].tags => "three, four, five"
如何获得
["one", "two", "three", "four", "five"]
答案 0 :(得分:0)
试试这个:
Post.all.map { |post| post.tags.split(', ') }.flatten.uniq
或者,如果您不想将整个模型加载到内存中:
Post.pluck(:tags).map { |tags| tags.split(', ') }.flatten.uniq
答案 1 :(得分:0)
您也可以使用collect而不是map
Post.all.collect {| post | post.tags.split(',')} .flatten.uniq