Rails模型按列值计数

时间:2014-11-19 00:36:52

标签: ruby-on-rails count

我正在尝试将所有项目计入category = clothing

我尝试了这两种方法,但它仍然只返回列中的行数

@clothingCount = Item.count(:all, :conditions =>  { :category => 'clothing'})
@clothingCount = Item.count(:conditions => "category = clothing")

3 个答案:

答案 0 :(得分:1)

您的问题中的两个示例都已被弃用。 Rails 4具有不同的语法。 :conditions甚至不能在Rails 3.2中使用。

试试这个。

@clouthing_count = Item.where(category: "clothing").size

您也可以使用count,但size更聪明。在运行查询之前,它将检查是否已加载关联。它还会查找counter_cache列。

答案 1 :(得分:0)

对于rails而言,不推荐使用count方法> 2.3.8版本 http://apidock.com/rails/ActiveRecord/Calculations/ClassMethods/count

答案 2 :(得分:-1)

//无需使用条件块

 @clothingCount = Item.where("category = 'clothing'").size