2016-07-27 68 views
1

我有一個嵌套的表與我的表單,所以我有一個新的食譜形式和嵌套成分。我試着將我的表格使用simple_form並試圖使其因此對於領域的單個標籤和領域是內聯(我的JavaScript按鈕,如果需要添加的成分多線)Simple_Form多行的幾個輸入與單個標籤在頂部

編輯:

因此,擺脫了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)); 
} 

這增加了它,但所有字段在第一列...我知道我需要調整前線,但不知道要選擇行而不是元素的內容

回答

0

從什麼我閱讀它看起來你想要一些軟的表格形式(在表中讀取),如果是這種情況,你可以使用普通的HTML建立表格,並使用f.input_field而不是f.input這種方法將給你的字段單獨,沒有其餘的HTML :包裝等

你想要這個嗎?包裝HTML也用於顯示錯誤,提示等。如何顯示錯誤?您仍然可以在單元格內使用f.input,您可能只想嘗試它。