2017-05-05 9 views
-2

私は請求書の "collection_select"を持っています。私は請求書を選択するときにその詳細を返してから、詳細をビューに表示してください。入れ子になったフォームの詳細を返します

私の問題は、ネストされたフォームの詳細をajaxに呼び出す方法がわかりません。

+0

こんにちは@DerlisとStackOverflowへようこそ。あなたのqeustionは広すぎます。これを読んでくださいhttp://stackoverflow.com/help/how-to-ask –

答えて

0

は、あなたのコントローラで

$.ajax({ 
    url: '/invoice/' + $('#dropDownId').val(), 
    type: 'GET', 
    success: function(res){ 
    $('#your_invoice_display_area').html(res); 
    } 
}) 

jqueryの

によってcollection_selectからinvoice_idを取得することができます。

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

関連する問題