我不确定为什么从以下查询返回“logo”网址?我不是在寻找那个被退回的人。我试图返回我们可以用来在地图上绘制的结果。
我确实在Contractor模型上安装了一个载波上传器,所以我假设它在那里,但我不知道为什么调用.to_json会导致徽标出现?
这让我困扰了几天。不知道为什么会发生这种情况
查询:
contractors = Contractor.where.not(latitude: nil, longitude: nil).select([:id, :company_name, :latitude, :longitude])
有效记录回复
#<Contractor id: 7441, company_name: "company name", latitude: 41.992063, longitude: -88.430357,>
当我添加.to_json
时{"id"=>7441, "company_name"=>"company name", "latitude"=>41.992063, "longitude"=>-88.700357, "logo"=>{"url"=>nil}}
答案 0 :(得分:1)
由于您只从db中检索id,company_name,lat和long,因此模型中的每个其他字段都将为nil。
为避免在使用to_json
时显示其他字段,您可以执行类似
contractors.to_json(only: [:id, :company_name, :latitude, :longitude])