hidden_field值默认值被缓存的值覆盖



无论我在代码中做什么,我的隐藏字段的值总是"1"。我尝试过通过ERB、HTML和jQuery在代码中设置它,但唯一有效的是在Javascript控制台中的jQuery。我在实际代码库中所做的一切都不会影响它。

我希望它以nil值开始,并使用JS将其设置为整数,但我愿意将其从"1"更改为整数。

这是我试过的ERB:

<%= hidden_field_tag "id", nil, id:"id-field" %>

这是我尝试过的HTML:

<input type="hidden" name="id" id="id-field" value="0">

这是我尝试过的jQuery:

$("#id-field").val(47);

但这一切的结果是:

<input type="hidden" name="id" id="id-field" value="1">

正如我所说,如果我在控制台中运行jQuery,我最终可以更改值。怎么回事?

更新:

这绝对是一个缓存问题。我曾经将值设置为"1",但我无法更改默认值,尽管我的语法肯定是正确的。有人对隐藏字段的值属性有类似的问题吗?(我正在尝试hidden_field而不是hidden_field_tag,但行为相同(

这是我正在使用的erb,value最初确实有效,但当我将值设置为其他值并刷新时,将应用缓存的值,并且完全忽略value属性。

<%= f.hidden_field :id, value: @id, id: "id-field" %>

试试这个:

var field = $('input[name="id"]:hidden');
field.val('45');

最新更新