【发布时间】:2016-07-27 14:51:53
【问题描述】:
我有一个与我的表单关联的嵌套表,所以我有一个新的食谱表单和嵌套的成分。我正在尝试将我的表单转换为使用 simple_form 并尝试使其具有单个标签的字段并且这些字段是内联的(如果需要,我有 javascript 按钮可以添加更多行成分)
编辑:
所以摆脱了 simple_form 中的标签,让它大部分工作,但现在我无法让它将新行添加为行,而是将其作为单个列。这是我的代码:
<table>
<tr>
<th>Ingredient Name</th>
<th>Info (sliced,minced,etc)</th>
<th>Amount</th>
<th>Unit</th>
</tr>
<%= f.fields_for :recipe_ingredients do |builder| %>
<%= render 'recipe_ingredient_fields', f: builder %>
<% end %>
<tr>
<td><%= link_to_add_fields "Add Ingredient", f, :recipe_ingredients,"", "Add a new Ingredient" %></td>
</tr>
</table>
成分偏:
<tr>
<td><%= f.input :ingredient, label: false %></td>
<td><%= f.input :info, label: false %></td>
<td><%= f.input :format_amount, label: false %></td>
<td><%= f.input :unit, label: false %></td>
<td><%= f.input :_destroy, as: :hidden, label: false %></td>
<td><%= link_to "Remove", '#', :onclick => h("remove_fields(this)"), class: "btn", title: "Remove Ingredient", remote: true %></td>
</tr>
还有 javascript 代码:
function add_fields(link, association, content){
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g");
$(link).before(content.replace(regexp, new_id));
}
这会将其添加到第一列中的所有字段中...我知道我需要调整前一行但不确定要选择什么来选择行而不是元素
【问题讨论】: