Я пытаюсь вызвать предупреждение, когда цена введена слишком низко. Но по какой-то причине он всегда возвращает true, и я вижу предупреждение независимо. Я уверен, что что-то не так в том, как я это делаю, поскольку я действительно новичок в RoR.Rails - Запуск вспышки Предупреждение с возвратом метода
В модели:
def self.too_low(value)
res = Class.find_by_sql("SELECT price ……. WHERE value = '#{value}'")
res.each do |v|
if #{value} < v.price.round(2)
return true
else
return false
end
end
end
В контроллере:
@too_low = Class.too_low(params[:amount])
if @too_low == true
flash[:warning] = 'Price is too low.'
end
Содержит ли набор результатов более чем в одной строке? Если это так, вы можете вернуть «истину» на основе значения последней строки, так как ваш «каждый» блок будет выполняться для всех строк в наборе. – zetetic
Я забыл упомянуть, что набор результатов будет содержать только одну строку. – oprogfrogo
Можете ли вы объяснить, что является результатом запроса sql? – Bohdan