我是Ruby on Rails的新手,无法弄清楚如何将带有逗号的数字字符串存储到数据库中。我曾经尝试过这样做,它将列表变成一个数组并取出第一个项目。
例如:" 12,34,56,78,90"它会将其保存为12当我尝试搜索该字符串时,同样如此。这对我来说没有任何意义,Rails想要将字符串转换为数组并获取第一个元素。我还没有能够找到这个。任何帮助将不胜感激!
以下是我想要使用的代码示例。
if DeviceApprovalQueue.find_by_address(params[:address]).nil?
daq = DeviceApprovalQueue.new(device_id: params[:gateway_id], address: params[:address])
if daq.save
#Device is queued
end
else
#Already queued
end
答案 0 :(得分:1)
这对我来说没有任何意义,为什么Rails想要将字符串转换为数组并获取第一个元素。
因为这不是这里发生的事情。你有一个整数列。所以12
是将字符串转换为整数的结果。
'12,34,56,78,90'.to_i # => 12
现在你可以将它存储在一个字符串列中,但它只是一个字符串。您将其所有属性作为“整数列表”丢失。
您可以将其存储在数组列中。但是这个a)要求你事先解析它,b)不是广泛支持的列类型。
也许,你需要做点别的事情。很难说。