我收到此错误无法找到id =''我不知道如何修复它如果知道如何解决它请告诉我
@req2 = ActiveSupport::JSON.decode(@req)
#@req3 = JSON.parse(@req2)
#@reqId = @req3
@reqId = @req2[0]
@req3 = JSON.parse(@reqId)
@req3.each do |item|
@id = item['id']
@id = GaBadge.find(@id)
if @id.present?
@id.destroy
end
#@obj = @id.destroy
end
答案 0 :(得分:0)
错误说GaBadge的表没有id = 3的任何记录,请使用
GaBadge.find_by_id(@id)
它将返回nil而不是error。 将你的循环改为
@req3.each do |item|
@id = item['id']
@ga_badge = GaBadge.find_by_id(@id.to_i)
unless @ga_badge.nil?
@ga_badge.destroy
end
end
答案 1 :(得分:0)
我认为,您将@id的值赋给字符串。 试试吧,
@id = GaBadge.find_by_id(@id.to_i)
答案 2 :(得分:0)
我添加.int并修复 @ req3.each do | item | @id = item [' id'] @ga_badge = GaBadge.find_by_id(@ id.to_i) 除非@ ga_badge.nil? @ ga_badge.destroy 结束 端