Я пытаюсь найти определенное значение внутри array
. array
состоит из данных в базе данных MySQL
и выглядит следующим образом:Поиск определенного значения из массива (RoR/MySQL)
info = [#<Info1: bla, Info2: blo>,#<Info1: bli, Info2, Ble>]
Теперь я хочу, чтобы каждое значение Info1
«s от него, но я не знаю, как.
array
была образована путем вызова
info = Info.find(:all)
Может кто-нибудь мне помочь?
Я использую Rails 2.2.2
(не спрашивайте, ничего не могу с этим поделать) и Ruby 1.8
.
Edit: Подробнее
информация представляет собой базу данных, где Info1 и информация 2 являются столбцами. Вызов с помощью info = Info.find (: all) возвращает массив выше.
То, что я пробовал до сих пор, связано с попыткой пройти через массив с каждым, но пока не повезло.
Большинство из того, что я пытался как
a.grep(/^info1/)
и
info.select(|i| i.name == "info1")
все возвращать пустые массивы
Редактировать
Nevermind, я нашел ответ. Я думал слишком странно. Ответ
info.each do |object|
puts object.info2
end
Я попробовал и возвратил мне пустой хэш. Изменение его в запросе базы данных на самом деле не является вариантом здесь, это назначение, и я на самом деле прав, где мне нужно быть, я просто не могу продолжать. – Uhraya
Если информация является массивом, вы не можете иметь хэш назад, так как 'select' возвращает массив. Возможно, у вас есть пустой массив. Можете ли вы добавить дополнительную информацию в вопрос об атрибутах «Info» и вашем фильтре? Также записывать то, что вы пробовали, поможет – coorasse