2017-05-05 51 views
-2

我有一個「collection_select」發票,我希望在選擇發票時返回其詳細信息,然後在視圖中繪製包含詳細信息的表格。返回嵌套表單的詳細信息

我的問題是,我不知道如何調用ajax嵌套窗體的細節。

+0

Hello @Derlis,歡迎來到StackOverflow。你的問題太廣泛了。請閱讀此http://stackoverflow.com/help/how-to-ask –

回答

0

您可以通過jQuery的

從collection_select得到INVOICE_ID
$.ajax({ 
    url: '/invoice/' + $('#dropDownId').val(), 
    type: 'GET', 
    success: function(res){ 
    $('#your_invoice_display_area').html(res); 
    } 
}) 
在你的控制器

def show 
    @invoice = Invoice.find(params[:id]) 
    respond_to do |format| 
    format.json {render json: @invoice, include: :invoice_items} 
    end 
end 

JSON數據將是這樣的:

{"invoice":{"id":35,"bill_to":"Mr. X","address":"Address details","custom_date":"2017-07-05","subtotal":"5627.0","discount":null,"tax":null,"number":"INV_00035","created_at":"2017-04-05T16:52:04.071+06:00","updated_at":"2017-05-03T13:50:01.308+06:00","company":"Company Name","phone":"12345667","email":"[email protected]","billing_period":"","in_word":null,"total":"5627.0"}} 

然後,在ajax調用中的成功函數中,您可以使用json繪製表格。

首先,給每個字段設置一個空表給ID。然後使用jquery添加值。

success: function(res){ 
    $("#bill_to").html(res["invoice"]["bill_to"]); 
    $("#address").html(res["invoice"]["address"]); 
} 

希望有幫助。讓我知道你是否需要更多的幫助。

+0

你好,謝謝你的答案。我的問題是如何首先返回json格式,然後在視圖中繪製一個包含結果的表格。 – Derlis

+0

我已經更新了我的答案。讓我知道你是否需要更多的幫助。 –

+0

嗨@Rifatul,你的回答非常有幫助,但是如何獲得標題的所有細節?例如,我選擇的發票有5個項目,我想要所有,這個方法只返回第一個。 – Derlis