2016-09-19 79 views
0

我是一种新的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 
+1

请显示您尝试写入的表的模式以及确切的错误消息。 – mudasobwa

回答

1

这没有任何意义,我为什么Rails的希望将字符串转换成一个数组,并采取的第一个元素。

因为这不是这里发生的事情。你有一个整数列。所以12是将您的字符串转换为整数的结果。

'12,34,56,78,90'.to_i # => 12 

现在你可以将它存储在一个字符串列中,但它只是一个字符串。你失去了所有的属性作为“整数列表”。

您可以将其存储在数组列中。但是这a)要求您事先解析它,并且b)不是广泛支持的列类型。

也许,你需要做别的事情。很难说。

+0

谢谢你,你是完全正确的,我的专栏是错误的类型。 –