Ruby-on-Rails中最简单的方法是如何在一些非模型表单中创建具有已知值和相同名称的几个简单隐藏字段(在我的例子中是form_remote_tag,但是我猜猜这是不相关的)?非模型表单中的简单隐藏字段
所谓“简单隐藏字段”,我的意思是一个其中名称仅仅是一个单一的字符串(field_name
),而不是一个阵列(field_name[]
)的一部分,使得该值可以简单地从params哈希表为params[:field_name]
读取而比params[:field_name][0]
。
我已发现
<% form_remote_tag :url => {:action => "do_act"} do %>
<%= hidden_field :field_name, 0, :name => "field_name", :value => "foo" %>
<%= submit_tag "Submit" %>
<% end %>
产生可接受的元件(<input id="field_name_0" name="field_name" type="hidden" value="foo" />
),但如果我省略:name
参数然后渲染字段具有名称field_name[0]
。省略0
显然会导致非常奇怪的行为。
<%= hidden_field_tag :field_name, "foo" %>
如果只有一个这样的表单,则会生成可接受的元素,但如果存在多个表单,则会生成HTML警告(重复ID)。
有没有办法做到这一点(禁止定义助手)在更少的参数?
啊,那工作 - 但让我意识到,我低估了我题。实际上我有很多表单,所有这些表单都会在隐藏字段中提交具有不同值的相同操作 - 所以这会生成警告,因为输入ID相同。 – Chowlett 2010-02-08 09:46:08