Ruby rails – 从数据库中只select几列

什么是在轨道结构SQL查询只从数据库中select某些列的方式,我有一些大数据字段,我想避免从连续的定期ajax调用加载。 不必要的阅读是资源消耗和缓慢。

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

我正在寻找SELECT name, address FROM users; 而不是SELECT * FROM users;

Rails 3:

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

使用:select构造。 尝试这个:

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

对于以前版本的Rails:

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

使用Arel(又名Rails 3),使用:

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

此外,似乎.select被忽略,如果你在一个范围有一个:include => …

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

尝试这个:

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