我想使用续集的Models
对象进行查询。我希望模式匹配某些变量值,如下所示:
Models::Show.grep(:name, %w'#{var1} #{var2}')
但不幸的是,Models.grep实例方法似乎没有这样做。它查询如下:
SELECT * FROM "shows"
WHERE (("name" LIKE '#{titre_fr}' ESCAPE '\')
OR ("name" LIKE ' {titre_en}' ESCAPE '\'))
有没有办法让函数与变量一起使用?
答案 0 :(得分:1)
请按以下步骤操作:
Models::Show.grep(:name, %W(#{var1} #{var2}))
演示示例:
a = 2
b = 3
%W(#{a} #{b}) # => ["2", "3"]
答案 1 :(得分:0)
您的代码
Models::Show.grep(:name, %w'#{var1} #{var2}')
使用单引号。更改为双引号,它将起作用
Models::Show.grep(:name, %w"#{var1} #{var2}")