Ruby搜索逗号分隔的字符串

时间:2016-09-19 19:13:23

标签: ruby-on-rails ruby

我是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 个答案:

答案 0 :(得分:1)

  

这对我来说没有任何意义,为什么Rails想要将字符串转换为数组并获取第一个元素。

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

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

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

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

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