大家好,我是 ruby on rails 的新手,我正在使用简单的表单 gem 制作表单。现在我想进一步简化它并尝试制作一个将标签作为参数的方法,然后可以生成一个简单的表单。例如。代替
<%= u.input :name, required: true %>
<%= u.input :email, required: true %>
<%= u.input :phone %>
我想调用一个带参数的方法
(name,email,phone)
生成表单。
大家好,我是 ruby on rails 的新手,我正在使用简单的表单 gem 制作表单。现在我想进一步简化它并尝试制作一个将标签作为参数的方法,然后可以生成一个简单的表单。例如。代替
<%= u.input :name, required: true %>
<%= u.input :email, required: true %>
<%= u.input :phone %>
我想调用一个带参数的方法
(name,email,phone)
生成表单。
您可以使用这样的辅助方法:
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)
而不是标签,或生成标签......