我正在尝试使用capybara创建ruby rspec,并且在尝试从哈希中删除部分字符串时出现此错误:无法修改冻结的字符串
scenario "check doc" do
docs = {
'A doc' => 'a.txt',
'B doc' => 'b.txt',
'C doc' => 'c.txt'
}
random_doc = docs.keys.sample
page.should have_css('.class', :text => 'Document ' + random_doc.gsub!(' doc') + ' was selected')
任何帮助将不胜感激!
答案 0 :(得分:3)
密钥名称已冻结,因此您无法对其进行修改 - 只需使用gsub而不是gsub!这样它就会返回一个修改过的字符串副本而不是尝试进行就地修改