0

我有兩個模型,第一個是授予第二個是specs。規範有兩個領域的資格和資格,並嵌入到贈款中。我大部分設置都很好,但我需要幫助修改JQuery,因爲每次點擊「添加不合格」時,都會添加資格。它不會顯示在表單上,​​但它在我的節目視圖中顯示爲空白的子彈。當我回去編輯表格時,我現在看到空白字段的資格。如果我將新文字輸入資格,則這兩個字段都會保存正確的文本。我希望能夠添加一個字段而不自動添加另一個字段。我的jQuery和幫手代碼來自Railscasts PRO#196嵌套模型表單。我是新來的鐵軌,特別是jQuery,所以任何幫助將不勝感激!以嵌套形式動態生成的字段添加兩次Rails

jQuery -> 
$('form').on 'click', '.add_fields', (event) -> 
    time = new Date().getTime() 
    regexp = new RegExp($(this).data('id'), 'g') 
    $(this).before($(this).data('fields').replace(regexp, time)) 
    event.preventDefault() 

和輔助方法:

module ApplicationHelper 
    def link_to_add_fields(name, f, association) 
    new_object = f.object.send(association).klass.new 
    id = new_object.object_id 
    fields = f.fields_for(association, new_object, child_index: id) do |builder| 
     render(name.to_s.singularize + "_fields", f: builder) 
    end 
    link_to(name, '#', class: "add_fields", data: {id: id, fields: fields.gsub("\n", "")}) 
    end 

回答

0

我想分享我的人誰可能會試圖做同樣的事情的解決方案。我犯的錯誤是認爲我可以在每個模型中有幾個字段,但只能將其中一個字段保存到數據庫中。但是每次添加字段時,即使它們都是空白,它也會將所有其他字段的整個記錄​​保存起來。這就是爲什麼我每次添加資格時都會收到一個空白的不合格字段。解決方案是分解模型併爲每個需要的領域創建一個新模型。

由於我真正的目標只是要列出符合條件和不符合條件的列表,所以我提出了兩個簡單處理格式的解決方案。首先是使用富文本編輯器,另一種是使用.gsub在事實之後添加格式。例如:

<p> 
    <strong>Eligibility:</strong> 
    <%= (@grant.eligibility).gsub(/[=+~]/, '=' => '<ul>','~' => '</ul>', '+' => '<li/>').html_safe %> 
</p> 
相關問題