0

大家好,我是 ruby​​ on rails 的新手,我正在使用简单的表单 gem 制作表单。现在我想进一步简化它并尝试制作一个将标签作为参数的方法,然后可以生成一个简单的表单。例如。代替

<%= u.input :name, required: true %>
<%= u.input :email, required: true %>
<%= u.input :phone %>

我想调用一个带参数的方法

(name,email,phone)

生成表单。

4

1 回答 1

0

您可以使用这样的辅助方法:

Module ApplicationHelper
  def build_me_a_form(path, fields) # pass fields as an array ['Name', 'Email', 'Phone']
    page_content = ''

    unless fields.blank?
      page_content = form_tag(path)
      fields.each do |field|
        page_content += text_field_tag(field.downcase.to_sym)
      end

      page_content += submit_tag
    end

    page_content
  end
end

# View
<%= build_me_a_form(some_path, ['name', 'Email', 'Phone']) %>

这至少应该让您开始,您可以扩展它以接受字段名称和类型的哈希,例如,您可能还希望有一个替代版本接受对象并构建 aform_for(object)而不是标签,或生成标签......

于 2013-06-20T08:50:41.217 回答