我试图循环遍历datum的每个属性,并将下面的模型方法中的值包含在内。如果我将值推入check []数组,则downcase会起作用,但如果我尝试datum.attr_name = datum.attr_value.downcase
则不会进行下采样。</ p>
我如何实际下调每个属性值并将此下划线保存?
check = [] #used to troubleshoot
datum.attributes.each do |attr_name, attr_value|
begin
check.push(attr_name) #just used to troubleshoot
check.push(attr_value.downcase) #just used to troubleshoot
datum.attr_name = datum.attr_value.downcase #need help here
rescue
end
end
datum.save
return check
Bonus:我目前正在使用数组进行故障排除,并通过错误消息打印出该数组。有什么更好的方法来解决这样的模型代码?
答案 0 :(得分:1)
您可以这样做,并通过检查属性是否可以降级来摆脱begin...rescue
。
datum.attributes.each do |attr_name, attr_value|
datum[attr_name] = attr_value.downcase if attr_value.respond_to?(:downcase)
end
datum.save