我想了解我们是否可以在字符串匹配中使用;
?即使以下代码似乎不起作用..但我试图了解以前的开发人员想要做什么。
if param.type == 'Team'
search_url += '/type-Team'
elsif param.type == 'Agent;Team;Office'
search_url += '/type-Agent;Team;Office'
end
答案 0 :(得分:1)
通常解开这样的代码需要以更简单的形式重写它:
case (param.type)
when 'Team'
search.url += '/type-Team'
when 'Agent', 'Office'
search.url += '/type-Agent;Team;Office'
end
如果url
部分更简单,这实际上只是一个白名单过滤器:
case (param.type)
when 'Team', 'Agent', 'Office'
search.url += "/type-#{param.type}"
end
您必须调查您type
所接收的值以及实际应添加到url
的内容,而不管其中表达的是什么。