我正在运行 grep 方法以通过模式匹配进行过滤。这是示例代码。
companies.grep /city/
但是,ruby 不允许我在 rails View 内的 block 中输入 area_code
。相反,我不得不像这样对其进行硬编码:
companies.grep /miami/
请记住,城市是一个变量。例如,
city = miami
但是,它会更新。你知道如何通过 grep 方法传递变量吗?
此外,我尝试了 companies.grep /#{city}/
,但没有成功
最佳答案
companies.grep /#{city}/
# or
companies.grep Regexp.new(city)
如果是简单的字母数字查询,这就足够了;但如果您不打算使用正则表达式运算符,最好开始练习转义这些内容。因此,更好的版本:
companies.grep /#{Regexp.escape city}/
# or
companies.grep Regexp.new(Regexp.escape city)
关于ruby-on-rails - 如何将 Ruby 变量放入正则表达式代码中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756887/