У меня есть следующий метод...
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, это вызывает проблему или я что-то упустил?
РЕДАКТИРОВАТЬ Глядя на документы для 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)
Ошибка в строке "взять"
-ОБНОВИТЬ-
Моя ошибка заключается в методе where для probe_count. Его нет в методе взятия. Я должен выяснить, что он не будет проверять поле «coupon_count», прежде чем принять купон.