错误 运行 ruby 包含正则表达式和索引值的代码

Error running ruby code containing a regular expression and index value

收到以下错误 运行 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"

顺便说一下,使用 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>  

                ^

当使用多个定位器时,它必须作为哈希传递。它看起来像(为了便于阅读而压缩了 ID):

@b.text_field(:id => /Contracts/, :index => 1).set "00.10"

或者,如果您喜欢较新的样式:

@b.text_field(id: /Contracts/, index: 1).set "00.10"