在类方法中构造查询

时间:2015-02-04 11:49:48

标签: ruby ruby-on-rails-4

我希望对我的模型(postgresql)执行查询作为验证。

我想计算一个特殊技能在模型中出现的次数,如果它是>= 3,那么验证失败

到目前为止我已经

class Document < ActiveRecord::Base
 mount_uploader :media, MediaUploader
 belongs_to :user
 belongs_to :skill

 validate :num_of_images

 def num_of_images
   skill_id = self.skill_id
   number = self.count(skill_id: skill_id)
 end
end

但是我得到了

(undefined method `count' for 1:Fixnum):

我需要使用什么方法/查询来计算记录

谢谢

1 个答案:

答案 0 :(得分:1)

请更新模型rb文件的问题以及验证失败的示例,我不明白你想要做什么

<强>更新

将自我替换为文档

Document.where(skill_id: skill_id).count

在这种情况下,self不是clase而是Document对象