Ruby rails – sélectionnez seulement quelques colonnes de la firebase database

Quelle est la manière dans les rails de structurer la requête SQL pour ne sélectionner que certaines colonnes de la firebase database, j’ai quelques champs de données volumineux que je veux éviter de charger des appels ajax périodiques continus. La lecture inutilement consum beaucoup de ressources et est lente.

@itemlist = Item.find(:all, :conditions => { .... } ) #this select all columns 

Je cherche le SELECT name, address FROM users; au lieu de SELECT * FROM users;

Rails 3:

Item.select("name, address").where( .... )

Faire usage de :select construct. Essaye ça:

 @itemlist = Item.select('name, address', conditions: { .... } ) 

Pour la version précédente de Rails:

 @itemlist = Item.find(:all,:select => 'name, address', :conditions => { .... } ) 

En utilisant Arel (alias Rails 3), utilisez:

 Item.where(...).select("name, address") 

En outre, il semble que .select soit ignoré si vous utilisez une scope qui contient un: include => …

 @itemlist = Item.select('name, address').where(...#some condition) 

Essaye ça:

 @itemlist = Item.find(:all, :select => "name, address", :conditions => { .... } ) 

Si vous souhaitez sélectionner des colonnes spécifiques à partir de la rails console , pluck( cela fonctionnera. Exemple:

 2.4.1 :007 > User.connection 2.4.1 :006 > User.all.pluck(:email) (0.3ms) SELECT `users`.`email` FROM `users` => ["test@test.com", "another_test@test.com"] 

Notez que cela fonctionnera également depuis l’application Rails.