Ruby on rails 在rails中调试sql结果的正确方法

Ruby on rails 在rails中调试sql结果的正确方法,ruby-on-rails,Ruby On Rails,我目前正在使用 puts @object.inspect 调试rails中查询的结果,但输出似乎不包括我为查询定义的任何联接。如何显示完整的数组 例如,如果我执行以下操作 @object = Object.joins("JOIN associations ON associations.id = object.association_id") .where(:id => params[:object_id]) .select("objects.*,

我目前正在使用

    puts @object.inspect
调试rails中查询的结果,但输出似乎不包括我为查询定义的任何联接。如何显示完整的数组

例如,如果我执行以下操作

    @object = Object.joins("JOIN associations ON associations.id = object.association_id")
      .where(:id => params[:object_id])
      .select("objects.*, associations.*")
      .first
    puts @object.inspect
我获取调试数组中所有的对象字段,但没有关联字段。然而,当我试图在我的视图@object.association\u字段中使用它们时,它们就在那里


PS-上面的查询看起来很难看,我只尝试提取一条记录,但如果我尝试使用.find而不是.where.first,则会出现各种错误。欢迎您就如何使其更具铁路性提出建议

为什么不是最简单的方法:

@object = Object.find(params[:object_id])
@association = @object.associations.first
puts "#{@object.inspect}, #{@association.inspect}"
假设有很多:关联是在对象中定义的

不获取关联字段的原因是因为联接所做的唯一事情是联接到SQL中的另一个表。它不获取连接的数据。仅选择对象属性的子集,我认为其余的属性将被忽略。

您可能会发现这很有帮助