У меня есть метод следующим образом ...получает сообщение об ошибке с взятием в запросе Rails
def self.get(code)
where(code: normalize_code(code)).
where('coupon_count > 0').
where('expires_at > Time.now OR expires_at IS NULL').
take
end
я получаю ошибку «неверное число аргументов (0 для 1)» на линии «взять» , Я использую rails 4.0.1, что вызывает проблему, или я что-то упускаю?
EDIT Глядя на документы для 4.0.1 http://rails.documentation.codyrobbins.com/4.0.10/classes/ActiveRecord/FinderMethods.html#method-i-take
Я обновил метод
def self.get(code)
where(code: normalize_code(code)).
where('coupon_count > 0').
where('expires_at > Time.now OR expires_at IS NULL').
take(1)
end
Теперь я получаю ошибку
SyntaxError: Unexpected identifier (16722)
Ошибка на "взять" line
-UPDATE-
Моя ошибка в методе coupon_count. Это не метод принятия. Я должен выяснить, что он не проверяет поле coupon_count, прежде чем принимать купон.
Вы можете дать точную трассировку стека? –