如果我这样做:
@company.projects.joins(clients).select('projects.id', 'clients.name as client_name', 'budget_id', 'budget_visible')
我只获得了我正在寻找的3个属性。
我还在project.rb中声明了以下范围:
scope :active, -> { where(active: true).includes(:client).where('clients.active' => true).references(:client) }
当我这样做时:
@company.projects.active.select('projects.id', 'clients.name as client_name', 'budget_id', 'budget_visible')
我获得了所有属性,而不是我正在寻找的3个。
我缺少什么,如何只选择我想要的属性?
编辑:另一个细节:当我.to_sql
时,我可以看到SQL是完美的,只返回我需要的列,但出于某种原因,当我.first.attributes
时,我看到了Project的所有列而不仅仅是我需要的那些。