我有一个方法:
def can_book_appointment?
我希望在activeadmin gem的范围内使用它
scope :cannot_book_appointment, lambda { |self| , {:condition => !self.can_book_appointment?}
我确实尝试了
scope :place_cannot_book, lambda { PlaceDetail.all.reject{|n| !n.can_book_appointment?} }
但我在activeadmin中收到错误:
未定义的方法'重新排序'对于#<阵列:0x121bf5e8>
我知道这不起作用,但它有助于了解我的意图。 如何在模型的每个记录上使用此方法?
答案 0 :(得分:3)
你做不到。范围应用于数据库级别,您的can_book_appointment?
方法存在于模型级别。他们不能以你试图让他们互动的方式互动。
您需要定义第二个范围,该范围应用can_book_appointment?
执行的相同检查,但在数据库级别。