2014-07-21 50 views
0

並且可以使用一些幫助來確定如何允許用戶更新列表中的記錄而不必離開頁面。如何在列表中動態更新/編輯/刪除列表中的現有記錄

具體來說,我有兩種形式在網頁上,用戶輸入他們的孩子的信息。

一種形式是讓用戶添加一個新的兒童信息來創建一個下面的兒童列表。 兒童列表顯示用戶以前輸入的兒童信息。 但是,在子列表中,我希望允許用戶刪除和編輯個人孩子的記錄。

我刪除功能工作正常,這是我有...

麻煩更新功能這裏的孩子#更新控制器:

def update 
    raise 
    @user = current_user 
    @child = Child.find(params[:id]) 
    if @child.update_attributes(child_params) 
    flash[:notice] = "Child info was updated." 
    else 
    flash[:error] = "Sorry. Something went wrong, please try again." 
    end 
    respond_with(@child) do |f| 
    f.html { redirect_to new_child_path } 
    end 
end 

這裏的的childList形式的局部視圖:

<form role="form"> 
    <% i = 1 %> 
    <% @user.children.each do |child| %> 
    <div class="col-md-12 form-align list-line"> 
    <div class="col-md-10 form-align"> 
     <%= label_tag child, "Child #{i}:" %> 
     <% i += 1 %> 
    </div> 
    </div> 
    <%= form_for(child, method: :put) do |f| %> 
    <div class="col-md-12 form-align"> 
     <div class='col-md-4 form-align'> 
     <%= f.label :first_name, class: 'sr-only' %> 
     <%= f.text_field :first_name, value: child.first_name, class: 'form-control form-control-align' %> 
     </div> 
     <div class='col-md-4 form-align'> 
     <%= f.label :middle_name, class: "sr-only" %> 
     <%= f.text_field :middle_name, value: child.middle_name, class: 'form-control form-control-align' %> 
     </div> 
     <div class='col-md-4 form-align'> 
     <%= f.label :last_name, class: "sr-only" %> 
     <%= f.text_field :last_name, value: child.last_name, class: 'form-control form-control-align' %> 
     </div> 
    </div> 
    <div class="col-md-12 form-align"> 
     <div class="col-md-4 form-group form-inline form-align"> 
     <%= f.label :birth_date, "D.O.B." %> 
     <%= f.date_field :birth_date, value: child.birth_date, class: 'form-control' %> 
     </div> 
     <div class="col-md-4 form-group form-inline form-align"> 
     <%= f.label :deceased, "Deceased?" %> 
     <%= f.select :deceased, value: child.deceased?, class: 'form-control form-control-align' %> 
     </div> 
     <%= f.submit "Update" %> 
     <%= link_to '<i class="glyphicon glyphicon-remove red"></i>'.html_safe, child, method: :delete %> 
    </div> 
    <% end %> 
    <% end %> 
</form> 

...和子模型:簡單的belongs_to:用戶/用戶模型has_many:子女

...和路線:資源:孩子

我想我需要通過我的form_for通過一些選項,但無法查找那些需要是...

提前感謝!

+0

你應該考慮刪除這個問題。 – zeantsoi

回答

0

我建議使用像Best in Place這樣的寶石來允許就地編輯列表中的某些字段。

如果您不想進行就地編輯,請使用包含編輯窗體的模態視圖。

+0

另一個選項可以是[X-Editable](http://vitalets.github.io/x-editable/)進行就地編輯。 –

+0

謝謝凱爾!將檢查出來! –

相關問題