我有两种注册表格,都适用于Customer
模型,但具有不同的字段。
<%= simple_form_for @customer, url: registration_path do |f| %>
...
<%= f.input_field :marketing, as: :boolean, boolean_style: :inline, id: "marketing" %>
<% end %>
表格1的同意复选框需要选中。我想在其他表单中添加相同的同意复选框。我将复选框部分移到了部分,并以表单的形式呈现,但是出现错误:
udnefined variable or method 'f'
shared/_consents.html.erb
<%= f.input_field :marketing, as: :boolean, boolean_style: :inline, id: "marketing" %>
如何重构原始表格,以便可以有一个单独的部分,可以添加到其他表格中?
答案 0 :(得分:2)
您需要将表单构建器对象(f
变量)传递给部分对象,例如
render partial: 'shared/consents.html.erb', locals: {f: f}
https://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables