Rails - 处理数组时出现字符串连接问题
Rails - String concatenation issue while processing an array
我正在尝试将数组的结果处理成字符串以传递给搜索。我想从数组中构建一个类似于
的字符串
("categories.name like '%Forms%' or categories.name like '%Apples%'")
serialize :category, JSON
if category.count > 1 && category.index != 0
$search_global.category.each do |cat_name|
cat_name.slice '" '
# cat_name
$array_count = $array_count + 1
if cat_name != ''
$inside_count = $inside_count +1
$cat_name_2 = "categories.name like %" + $cat_name_2 + cat_name + "% or " + $inside_count.to_s
end
end
end
如果我 select 一个项目,它工作正常
categories.name like %Forms% or 1
请注意,我包括内部计数只是为了更好地了解正在发生的事情。
我遇到的问题是当我 select 2 个或更多项目时。 categories.name like %
重复两次然后数组项或列为
categories.name like %categories.name like %Calendar% or 1Forms% or 2
我似乎无法弄清楚为什么串联没有按我预期的那样工作。
$cat_name_2 = "categories.name like %" + $cat_name_2 + cat_name + "% or " + $inside_count.to_s
您正在使用 $cat_name_2 作为受让人以及在赋值语句中。
我正在尝试将数组的结果处理成字符串以传递给搜索。我想从数组中构建一个类似于
的字符串("categories.name like '%Forms%' or categories.name like '%Apples%'")
serialize :category, JSON
if category.count > 1 && category.index != 0
$search_global.category.each do |cat_name|
cat_name.slice '" '
# cat_name
$array_count = $array_count + 1
if cat_name != ''
$inside_count = $inside_count +1
$cat_name_2 = "categories.name like %" + $cat_name_2 + cat_name + "% or " + $inside_count.to_s
end
end
end
如果我 select 一个项目,它工作正常
categories.name like %Forms% or 1
请注意,我包括内部计数只是为了更好地了解正在发生的事情。
我遇到的问题是当我 select 2 个或更多项目时。 categories.name like %
重复两次然后数组项或列为
categories.name like %categories.name like %Calendar% or 1Forms% or 2
我似乎无法弄清楚为什么串联没有按我预期的那样工作。
$cat_name_2 = "categories.name like %" + $cat_name_2 + cat_name + "% or " + $inside_count.to_s
您正在使用 $cat_name_2 作为受让人以及在赋值语句中。