所以我有一个非常简单的模型,叫做 Movies。我正在尝试添加一个类方法,该方法返回分配给数据库中电影的评级的整洁列表。看来我想调用 Movie.uniq.pluck(:rating)
所以我添加了这样的方法:
class Movie < ActiveRecord::Base
def self.all_ratings
self.uniq.pluck(:rating)
end
end
但它就是行不通。当它运行时,我得到:undefined method
uniq' for #`... 我试过包括 ActiveRecord::Calculations 但这似乎也无济于事。我还在'def ...'之后放置了一个断点来检查自己有哪些方法,果然,uniq不在其中...
我显然做错了什么,但我不太明白它是什么。
有人有什么想法吗?
ó_ò
最佳答案
uniq
是一种 Ruby 方法,甚至可用于 1.8.7。问题是 uniq
是一个 Array
方法。
因此您可能需要在类似Movie.all
的对象上调用uniq
。
关于ruby-on-rails - RoR ActiveRecord::Base uniq 在尝试 uniq.pluck(:column_name) 时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847099/