Ruby新手需要一些帮助。将变量传递给select_list,我想找到与变量匹配的第一个选项。
列表选项包括:
...我将城市分配给变量
var="Portland"
使用:
f.select_list(:id => /location/).select(/var/)
给出NoValueFoundException
但是当我使用...
`f.select_list(:id => /location/).select(/Portland/) #no exception, gives 1st entry`
如何使用正则表达式和变量访问第一个选项?
答案 0 :(得分:0)
不是使用文字正则表达式/ var /,而是需要从变量var的字符串值构造正则表达式。
示例:
:001 > /hello/.match('hello world')
=> #<MatchData "hello">
:002 > exp = 'hello'
=> "hello"
:003 > /exp/.match('hello world')
=> nil
:004 > Regexp.new(exp).match('hello world')
=> #<MatchData "hello">