我有一系列球队名称:
teams = ["Atlanta Hawks","Boston Celtics","Brooklyn Nets"]
我想迭代团队数组,并将每个团队插入到css选择器中以获得' title':
teams.each do |team_name|
basketball_team_links << basketball_teams.css("a[class='lnkBeatWriterLeague'][title=#{team_name}]").map { |link| link['href'] }
end
显然我的方法存在缺陷,我无法弄清楚如何阅读| team_name |变量
答案 0 :(得分:3)
你尝试过:
"a[class='lnkBeatWriterLeague'][title='#{team_name}']"
或:
"a[class='lnkBeatWriterLeague'][title=\"#{team_name}\"]"
或:
%Q{a[class='lnkBeatWriterLeague'][title="#{team_name}"]}
或:
"a[class='lnkBeatWriterLeague'][title='" + team_name + "']"
根据@Amadan在评论中的建议,在一些应考虑的角落案例中添加注释。
teams
字符串是否来自用户,您可能会在其中包含撇号和引号。
有两种简单的方法可以正确地逃避它们:
require 'cgi'
CGI.escapeHTML "input string"
require 'json'
"input string".to_json