Rails - 处理数组时的字符串连接问题

时间:2015-12-29 14:21:24

标签: ruby-on-rails arrays concatenation

我正在尝试将数组的结果处理为字符串以传递以进行搜索。我想从数组中构建一个类似于

的字符串
  

(“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

我似乎无法弄清楚为什么连接不能像我预期的那样工作。

1 个答案:

答案 0 :(得分:1)

$cat_name_2 = "categories.name like %" + $cat_name_2 + cat_name + "% or " + $inside_count.to_s

您使用$ cat_name_2作为asignee以及在赋值语句中。