Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将变量传递到带嵌套引号的字符串-Ruby_Ruby - Fatal编程技术网

如何将变量传递到带嵌套引号的字符串-Ruby

如何将变量传递到带嵌套引号的字符串-Ruby,ruby,Ruby,我有一组团队名称: 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 { |lin

我有一组团队名称:

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
teams.each do| team|u name|
篮球队链接您是否尝试过:

"a[class='lnkBeatWriterLeague'][title='#{team_name}']"
或:

或:

或:


编辑: 根据@Amadan在评论中的建议,添加一些应考虑的角落案例的注释

无论
teams
字符串是否来自用户,其中都可能包含撇号和引号。
有两种简单的方法可以正确地避开它们:

require 'cgi'
CGI.escapeHTML "input string"

require 'json'
"input string".to_json
您是否尝试过:

"a[class='lnkBeatWriterLeague'][title='#{team_name}']"
或:

或:

或:


编辑: 根据@Amadan在评论中的建议,添加一些应考虑的角落案例的注释

无论
teams
字符串是否来自用户,其中都可能包含撇号和引号。
有两种简单的方法可以正确地避开它们:

require 'cgi'
CGI.escapeHTML "input string"

require 'json'
"input string".to_json

谢谢你,我相信你知道……它们都起了作用。警告:它们在某些情况下都会崩溃:
O'Reilly的团队
Sadist\“User
Jackie“slagger”Jameson
。使用
CGI.escapeHTML
逃离你的
团队名
,使用
Team\\u名。到json
也可以获得报价(分别要求
cgi
json
),或者只要求
gsub
提交您的字符串以确保安全。“Psh,我的字符串中永远不会有撇号”几乎每次都会咬到您。(当然,您应该选择内部引号来匹配您使用的转义方法)谢谢你,我相信你知道……它们都起了作用。警告:在某些情况下,它们都会崩溃:
O'Reilly的团队
Sadist\“用户”
Jackie“Slugger”Jameson
。使用
CGI.escapeHTML
转义您的
team\u name
,使用
team\u name.to\u json
也可以获取引号(分别需要
CGI
json
),或者只需
gsub
将字符串提交以确保安全。“嘘,我的绳子上永远不会有撇号”几乎每次都会咬你(当然,您应该选择内部引号以匹配所使用的转义方法)
require 'cgi'
CGI.escapeHTML "input string"

require 'json'
"input string".to_json