如何更改ActiveRecord以使其始终具有受限制的列集.我不希望后备表中的所有列都出现在模型中.这不必要地增加了ActiveRecord的内存占用以及查询记录所花费的时间.
有一些属性,如select(ar.rubyonrails.org/classes/ActiveRecord/Base),可用于仅选择几列.但是有没有办法我们可以强制ActiveRecord永远不会查询那些列,尽管用户只是在没有指定的情况下执行查找:始终选择.
解决方法
使用
default_scope
例如
class MyModel < ActiveRecord::Base default_scope select("column1,column2,column3") ... end