2

nokogiri cssをしばらく使用していますが、cssセレクター内でruby式の補間を使用できるようにしたいと思いますが、機能しません。これは私が使用したいコードです:

doc = Nokogiri::HTML(open('http://www.somepage.com'))
keys=["BHiuG", "hUYtb4F", "jefHUY78i"]
keys.each do |k|
    keyvalue = doc.css('span[class="#{k}"]').children
    puts keyvalue
end

同様の構文を機能させる方法はありますか?

4

1 に答える 1

8

Nokogiriとは何の関係もありません。問題は、一重引用符を使用しているのに、Rubyでの文字列補間には二重引用符が必要なことです。CSSセレクターでは一重引用符も使用できるので、次のように記述します。

doc.css("span[class='#{k}']").children
于 2012-08-20T14:52:03.173 に答える