ActiveAdmin 嵌套表单重复
ActiveAdmin nested form duplicate
我知道有多个问题的标题与此类似,但我没有找到任何与我的问题相似的问题。如果已经有解决方案,因此我的问题是重复的,我很抱歉 - 我只是没有找到它,不是我没有搜索。
我正在使用 ActiveAdmin 和 ActiveSkin 主题。我的模型 Agent
有一个表单,我想在其中使用嵌套表单来建立 has_many
关系。我部分创建了这段代码:
<%= semantic_form_for [@agent], builder: ActiveAdmin::FormBuilder do |f| %>
<%= f.semantic_errors %>
<%= f.inputs 'General Information' do %>
<%= f.input :name %>
<%= f.input :description %>
<% end %>
<%= f.inputs 'Capture Columns' do %>
<%= f.has_many :capture_columns, new_record: 'Add Column' do |column| %>
<%= column.input :column_name %>
<%= column.input :column_datatype %>
<% end %>
<% end %>
<%= f.actions do %>
<%= f.action :submit %>
<li class="cancel"><%= link_to 'Cancel', :back %></li>
<% end %>
<% end %>
基本上,这是有效的,但看起来像这样:
为什么html重复了(我查了一下,完全一样)?我做错了什么?
编辑:
嵌套形式的内部 HTML 也被复制:
听到循环。这个问题解决起来很简单,只要进入循环并理解它为什么会循环以及如何解决它。你应该使用 binding.pry
来测试它。您可以使用 <% binding.pry %>
在表单中设置断点,或者您可以在服务器日志中打印 <% puts column %>
等变量。
<%= f.has_many :capture_columns, new_record: 'Add Column' do |column| %>
<%= column.input :column_name %>
<%= column.input :column_datatype %>
<% end %>
并不是说这是正确的行为,但根据 the docs,使用 has_many
时需要避免打印到模板。
尝试在 f.has_many
声明和块中使用 <%-
或 <%
而不是 <%=
。
我知道有多个问题的标题与此类似,但我没有找到任何与我的问题相似的问题。如果已经有解决方案,因此我的问题是重复的,我很抱歉 - 我只是没有找到它,不是我没有搜索。
我正在使用 ActiveAdmin 和 ActiveSkin 主题。我的模型 Agent
有一个表单,我想在其中使用嵌套表单来建立 has_many
关系。我部分创建了这段代码:
<%= semantic_form_for [@agent], builder: ActiveAdmin::FormBuilder do |f| %>
<%= f.semantic_errors %>
<%= f.inputs 'General Information' do %>
<%= f.input :name %>
<%= f.input :description %>
<% end %>
<%= f.inputs 'Capture Columns' do %>
<%= f.has_many :capture_columns, new_record: 'Add Column' do |column| %>
<%= column.input :column_name %>
<%= column.input :column_datatype %>
<% end %>
<% end %>
<%= f.actions do %>
<%= f.action :submit %>
<li class="cancel"><%= link_to 'Cancel', :back %></li>
<% end %>
<% end %>
基本上,这是有效的,但看起来像这样:
为什么html重复了(我查了一下,完全一样)?我做错了什么?
编辑:
嵌套形式的内部 HTML 也被复制:
听到循环。这个问题解决起来很简单,只要进入循环并理解它为什么会循环以及如何解决它。你应该使用 binding.pry
来测试它。您可以使用 <% binding.pry %>
在表单中设置断点,或者您可以在服务器日志中打印 <% puts column %>
等变量。
<%= f.has_many :capture_columns, new_record: 'Add Column' do |column| %>
<%= column.input :column_name %>
<%= column.input :column_datatype %>
<% end %>
并不是说这是正确的行为,但根据 the docs,使用 has_many
时需要避免打印到模板。
尝试在 f.has_many
声明和块中使用 <%-
或 <%
而不是 <%=
。