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中的另一个表。它不获取连接的数据。仅选择对象属性的子集,我认为其余的属性将被忽略。您可能会发现这很有帮助