带有默认输入字段的form_tag

时间:2015-11-03 11:18:25

标签: ruby-on-rails forms haml

我想为我的观点创建一个自定义的form_tag帮助器,其默认值为fields,如下所示:

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

但是在我的FormHelper课程中,我写了类似的内容:

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

没有添加hidden_field_tags。 似乎只显示块的结果。在这种情况下,如果我在块的末尾添加hidden_field_tag 'name', 'value'之类的东西,它将被显示。 那么如何显示所有不同的字段呢?

由于

2 个答案:

答案 0 :(得分:0)

好的,而不是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

答案 1 :(得分:0)

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