У меня есть метод, определенный в string.rb, следуя правилам, которые я видел здесь на этом сайте. Похоже, что приложение видит этот метод, потому что он не вызывает ошибки при его вызове. Кажется, это всегда возвращается к истине каждый раз. Я знаю, исходя из выходных данных, что он должен возвращать false. Помогите?Как определить логический метод в классе строк в Rails?
class String
# Returns true or false if the string has useful data
def useful?
if self.nil?
false
elsif self.blank?
false
elsif self.empty?
false
elsif self == "unknown"
false
elsif self == "NA"
false
elsif self == "N/A"
false
else
true
end
end
end
Что данные, тестируется? Кроме того, это помогло бы, если бы вы знали, какое условие возвращает фактическое 'false'. Попробуйте положить 'puts' перед каждым' false', чтобы увидеть, какая строка соответствует строке –
В данный момент есть несколько данных. Два из которых являются нулевыми полями в базе данных, которые, как я полагаю, должны улавливаться под «nil?». (Если нет, то они должны, по крайней мере, поймать под пустым? Или пустым?), А другая - строка «unknown», которая также должна улавливаться. – unclesol
Aaaand он только начал работать. Я добавил еще один способ на страницу, чтобы сделать что-то совершенно не связанное, и он только начал работать. Понятия не имею почему. Должен любить изучать новые языки. – unclesol