Я хочу создать хеш из данных, которые вытащены из БД. Хеш должен выглядеть следующим образом:
hash { id: process.id,
name: company_name }
Чтобы получить название компании, мне нужно выполнить какой-то запрос, который возвращает массив строк с названиями компаний:
Process.all.map do |process|
process.inquiry_field_responses
.joins(:inquiry_field)
.where(inquiry_fields: { name: 'company_name' })
.first&.value
end
Чтобы создать этот хэш, я думал, что вседолжен сделать что-то вроде:
fetcher = []
Process.all.map do |process|
company_name = process.inquiry_field_responses
.joins(:inquiry_field)
.where(inquiry_fields: { name: 'company_name' })
.first&.value
if company_name != nil
fetcher << {
id: process.id,
name: company_name,
}
end
end
Но в результате я получу:
2.6.0 :318 > fetcher
=> [{:id=>1, :name=>nil}, {:id=>2, :name=>nil}, {:id=>3, :name=>nil},
{:id=>4, :name=>nil}, {:id=>5, :name=>nil}, {:id=>6, :name=>nil}, {:id=>7,
:name=>nil}, {:id=>8, :name=>nil}, {:id=>9, :name=>nil}, {:id=>10,
:name=>nil}, {:id=>11, :name=>nil}, {:id=>12, :name=>nil}, {:id=>13,
:name=>nil}, {:id=>14, :name=>nil}, {:id=>15, :name=>nil}, {:id=>16,
:name=>nil}, {:id=>17, :name=>nil}, {:id=>18, :name=>nil}, {:id=>19,
:name=>nil}, {:id=>20, :name=>nil}, {:id=>21, :name=>nil}, {:id=>22,
:name=>nil}, {:id=>23, :name=>nil}, {:id=>24, :name=>nil}, {:id=>25,
:name=>nil}, {:id=>26, :name=>nil}, {:id=>27, :name=>nil}, {:id=>28,
:name=>nil}, {:id=>29, :name=>nil}, {:id=>30, :name=>nil}, {:id=>31,
:name=>nil}, {:id=>32, :name=>nil}, {:id=>33, :name=>nil}, {:id=>34,
:name=>nil}, {:id=>35, :name=>nil}, {:id=>36, :name=>nil}, {:id=>37,
:name=>nil}, {:id=>38, :name=>nil}, {:id=>39, :name=>nil}, {:id=>40,
:name=>nil}, {:id=>41, :name=>nil}, {:id=>42, :name=>nil}, {:id=>43,
:name=>nil}, {:id=>44, :name=>nil}, {:id=>45, :name=>nil}, {:id=>46,
:name=>nil}, {:id=>47, :name=>nil}, {:id=>48, :name=>nil}, {:id=>49,
:name=>nil}, {:id=>50, :name=>nil}, {:id=>51, :name=>"231421AAAAA firma"},
{:id=>52, :name=>"tregfsd"}, {:id=>53, :name=>"aaaaa"}, {:id=>54,
:name=>"zzzzzz"}, {:id=>55, :name=>"bbbbb"},
Вместо:
2.6.0 :318 > fetcher
{:id=>52, :name=>"tregfsd"}, {:id=>53, :name=>"aaaaa"}, {:id=>54,
:name=>"zzzzzz"}, {:id=>55, :name=>"bbbbb"},