form_tag 使用默认输入字段

form_tag with default input fields

我想为我的视图创建一个自定义 form_tag 帮助器,其中包含一些默认值 fields,如下所示:

=form_tag(url) do
  -fields.each do |name, value|
    =hidden_field_tag name, value

但是在我的 FormHelper class 中我写了这样的东西:

def my_form_tag
  form_tag(url) do
   fields.each do |name, value|
     hidden_field_tag name, value
   end
 end
end

None 的 hidden_field_tags 被添加。 似乎只显示块的结果。在这种情况下,只要我在块的末尾添加 hidden_field_tag 'name', 'value' 之类的内容,它就会显示出来。 那么如何显示所有不同的字段?

谢谢

好的,所以我没有执行 each,而是执行了 mapjoin 以及 html_safe

def my_form_tag
  form_tag(url) do
    fields.map do |name, value|
      hidden_field_tag name, value
    end.join.html_safe
  end
end

尝试使用此 form_tag 进行部分处理,然后在您的 my_form_tag 方法中只渲染此部分。这样你就得到了整个表格。