Ruby on rails 是否可以指定某个对象所属的字段或返回的多个关系对象?

Ruby on rails 是否可以指定某个对象所属的字段或返回的多个关系对象?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,联系人指定了一个用户: class Contact < ActiveRecord::Base ... belongs_to :user ... end select语句和结果集不包括“加密的\u密码” 但是,如果我这样做: c = Contact.includes(:user).first c.user 是的。在这种情况下,不会应用用户模型上的默认范围,并显示“加密的\u密码”字段 所以我的问题是为什么?还有,是否有一种明确的方法来指定在相关对象上应该返回哪些

联系人指定了一个用户:

class Contact < ActiveRecord::Base
    ...
    belongs_to :user
    ...
end
select语句和结果集不包括“加密的\u密码”

但是,如果我这样做:

c = Contact.includes(:user).first

c.user
是的。在这种情况下,不会应用用户模型上的默认范围,并显示“加密的\u密码”字段


所以我的问题是为什么?还有,是否有一种明确的方法来指定在相关对象上应该返回哪些字段?

您应该只能够使用“所属对象”关系上的:选择选项。大概是这样的:

class Contact < ActiveRecord::Base
  ...
  belongs_to :user, :select => [:id, :first_name, :last_name, :email]
  ...
end
class联系人[:id,:first\u name,:last\u name,:email]
...
结束

Sweet!虽然这可以删除加密的\u密码字段,但它仍然显示在“归属于:选择”数组中未指定的字段。可能与用户有关,包括设计模块。那么,你知道为什么我使用默认范围的方法不起作用吗?
c = Contact.includes(:user).first

c.user
class Contact < ActiveRecord::Base
  ...
  belongs_to :user, :select => [:id, :first_name, :last_name, :email]
  ...
end