0

我的 Rails 应用程序的助手中有以下选择:

 def unit_select
    Unit.all.map{|unit| unit.calls.empty? ? [unit.unit_name, unit.id] : ["#{unit.unit_name} (on call)", unit.id] }
  end

这样做是寻找一个有呼叫的单元,如果该单元在表格中的单元旁边有一个呼叫附加(待命)。我看到的问题是当它去寻找 unit.calls.empty 时?它考虑了不应考虑的“关闭”状态的通话记录。

是否有另一种我可以使用(或编写)的方法让我查看 unit.calls 并传递调用是否处于 call_status 打开状态?

4

1 回答 1

0

在您的单元模型中,您可以覆盖空的?调用关联的方法:

class Unit < ActiveRecord::Base
  has_many :calls do
    def empty?
      self.where(:call_status => :open).any?
    end
  end
end
于 2012-08-28T15:06:11.827 回答