0

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`

正規表現と変数を使用して最初のオプションにアクセスするにはどうすればよいですか?

4

1 に答える 1

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"> 
于 2012-07-13T19:16:58.423 に答える