editar 2
Se você se deparar com isso, verifique ambas as respostas, pois agora eu usaria arrancar para este
Tenho um conjunto de dados personalizado bastante grande que gostaria de retornar para ser exibido como json. Uma parte é:
l=Location.find(row.id)
tmp[row.id]=l
mas eu gostaria de fazer algo como:
l=Location.find(row.id).select("name, website, city")
tmp[row.id]=l
mas isso não parece estar funcionando. Como eu faria isso funcionar?
THX
editar 1
alternativamente, há uma maneira de passar um array apenas dos atributos que desejo incluir?
:limit
deve fazer isso, ou:first
ou:last
ou o que quer, dependendo do que você quiser. O documento de referência que vinculei dirá a você como fazer tudo isso.arrancar (column_name)
Este método foi desenvolvido para realizar a seleção por uma única coluna como consulta SQL direta. Retorna Array com valores do nome da coluna especificada. Os valores têm o mesmo tipo de dados da coluna.
Exemplos:
consulte http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-pluck
Seus trilhos introduzidos 3.2 em diante e aceita apenas uma coluna. No trilho 4, ele aceita várias colunas
fonte
Location.select([:name, :website, :city])
se você passar uma matrizMinha resposta chega tarde porque sou um desenvolvedor muito novo. Isso é o que você pode fazer:
A propósito, este é o Rails 4
fonte