运行ruby脚本时出现以下错误: C:/Ruby/test3.rb:30:语法错误,意外的tINTEGER,期待')' ... 41afa164b242__Rate / => :index 1).set“00.10” ......
@b.text_field(:id, /Contracts_[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}__ContractTranslationQualities_[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}__ContractPrices_[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}__ContractPriceWordRates_0ec7c68c-663a-40aa-9ab6-41afa164b242__Rate/ => :index 1).set "00.10"
BTW使用Rubular.com对照html代码检查正则表达式并检查出来。我在其他不包含多个具有相同ID的元素的页面中成功使用此方法。但是在这个页面上,我正在测试有4个带有此id的文本字段,所以我需要索引,除非你有另一个建议。谢谢您的帮助。
<td>
<div class="symbol-left-inner-addon">
<span class="CurrencySymbol" title="USD">$</span>
<input id="Contracts_b05b4efc-fc08-427b-9319-6a25409eded1__ContractTranslationQualities_f056e412-af83-4965-8fbd-c516f17fb8cf__ContractPrices_9d79ae47-3295-4cbc-9ed5-5b96e53ed1c1__ContractPriceWordRates_b5356ba9-bdc8-49a8-855a-8c2271078f61__Rate" class="form-control numericInput text-right valid" type="text" value="0.00" name="Contracts[b05b4efc-fc08-427b-9319-6a25409eded1].ContractTranslationQualities[f056e412-af83-4965-8fbd-c516f17fb8cf].ContractPrices[9d79ae47-3295-4cbc-9ed5-5b96e53ed1c1].ContractPriceWordRates[b5356ba9-bdc8-49a8-855a-8c2271078f61].Rate" data-val-required="The Rate field is required." data-val-number="The field Rate must be a number." data-val="true">
</div>
</td>
^
答案 0 :(得分:0)
使用多个定位器时,必须将其作为哈希传递。它看起来像(为了便于阅读而浓缩了ID):
@b.text_field(:id => /Contracts/, :index => 1).set "00.10"
或者如果您更喜欢新款式:
@b.text_field(id: /Contracts/, index: 1).set "00.10"