我正在尝试将数组的结果处理为字符串以传递以进行搜索。我想从数组中构建一个类似于
的字符串(“categories.name喜欢'%Forms%'或categories.name喜欢'%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
如果我选择一个项目,它可以正常工作,如
categories.name,如%Forms%或1
请注意,为了更好地了解正在发生的事情,我将内部计数包括在内。
我遇到的问题是当我选择2个或更多项目时。 categories.name like %
重复两次,然后重复数组项目或列在
categories.name,如%categories.name,如%Calendar%或1Forms%或2
我似乎无法弄清楚为什么连接不能像我预期的那样工作。
答案 0 :(得分:1)
$cat_name_2 = "categories.name like %" + $cat_name_2 + cat_name + "% or " + $inside_count.to_s
您使用$ cat_name_2作为asignee以及在赋值语句中。