SORU
30 Kasım 2010, Salı


Ruby on Rails - çoklu modeller için Render JSON

JSON birden fazla model sonuçları işlemek için çalışıyorum. Benim denetleyicisi aşağıdaki kodu yalnızca ilk sonuç kümesini işler:

  def calculate_quote
    @moulding = Moulding.find(params[:id])
    @material_costs = MaterialCost.all

    respond_to do |format|
      format.json  { render :json => @moulding }
      format.json  { render :json => @material_costs }
    end
  end

Herhangi bir yardım çok teşekkürler mutluluk duyacağız.

CEVAP
30 Kasım 2010, Salı


Bunu yapmak için bir yol oluşturmak için istediğiniz nesneleri bir karma oluşturmak ve işlemek yöntemine geçirin. Bunun gibi

respond_to do |format|
  format.json  { render :json => {:moulding => @moulding, 
                                  :material_costs => @material_costs }}
end

Eğer bu modeller aktif kayıt ile ilişkili değilse, bu muhtemelen en iyi çözüm.

Eğer bir ilişki yoksa, yani render çağrısı :include bir argüman iletebilirsiniz:

respond_to do |format|
  format.json  { render :json => @moulding.to_json(:include => [:material_costs])}
end

Eğer bu yaklaşım ise, Raylar otomatik olarak @moulding değişken yük olacak yukarıdaki bölümde @material_costs değişken almak gerekmez unutmayın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • SuperPrincessjo

    SuperPrinces

    1 EKİM 2010
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005