1

好吧,我有两个模型...

吉拉问题:

class Jiraissue < ActiveRecord::Base
  # JIRA uses a singular table name for this model
  set_table_name 'jiraissue'
  has_one :severity
end

严重性:

class Severity < ActiveRecord::Base
  belongs_to :jiraissue
end

我想要做的是计算 jiraissue.severity = "S1" 的所有 Jiraissues

现在事实证明,jiraissue 表有一个优先级列,所以我可以在模型中提取这个技巧......

吉拉问题:

class Jiraissue < ActiveRecord::Base
  # JIRA uses a singular table name for this model
  set_table_name 'jiraissue'
  has_one :severity

  def self.count_priority(priority)
    where("PRIORITY = ?",priority).count()
  end

end

然后在视图中执行类似...

<%= (1..4).map {
  |priority| Jiraissue.biit.bugs.recent.count_priority(priority)
  }.inspect %>

我如何为 Jiraissue 做类似的事情来获得 count_severity 方法?

这只是行不通(我也不希望它)......

  def self.count_severity(severity)
    where("severity = ?",severity).count()
  end

但我完全糊涂了。

4

2 回答 2

0
Jiraissue.joins(:severities).where(:severities => {:severity => "S1"}).count
于 2012-02-18T07:26:52.223 回答
0

模型

def self.count_priority(priority)
  where("PRIORITY = ?",priority).size
end

控制器

def index
  @jiraissues = Jiraissue.count_priority('S1')
end

它不起作用吗?

于 2012-02-18T09:22:34.653 回答