2012-02-06 48 views
2

我在Rails中顯示了一個帳戶設置嚮導,其中顯示了公司列表。當通過AJAX更新公司的詳細信息時,一切都完美無缺。但是,成功更新後,我還想用新客戶端表單替換更新客戶端表單。Rails中的AJAX:完成模型後顯示模型#新窗體#更新

這似乎是正確的做法是使用AJAX來更新表單的包含元素與來自公司#新的JS格式響應。這可能來自公司內部#新的JS格式迴應?

回答

2

是的,在這種情況下使用ajax是一件好事。發佈後,公司的詳細信息通過ajax成功更新。

如果當前更新成功,並且將新表單作爲json傳遞,您可以執行的操作是在update操作中呈現json。

def update 
    @company = Company.find(params[:id]) 
    respond_to do |format| 
    if @company.update_attributes(params[:company]) 
     format.json { render json: { success: true, html: render_to_string('_form.html.slim', layout: false) } } 
     format.html { redirect_to @company, notice: 'Company was successfully updated.' } 
    else 
     ... 

您可以訪問js中的json並替換當前的表單元素。

$('#company_form').live 'ajax:success', (event,data) -> 
    $('#current_company_form').html(data.html) if(data.success == true) 

讓我知道,如果這有助於。

+0

這讓我走上了正軌,然後我找到了類似的解決方案。謝謝。 – 2012-03-27 00:34:17