2016-04-21 14 views
0

Erstes Modell-Rendering:Inner json Objekte nicht Rails

class AdPlace < ActiveRecord::Base 
    belongs_to :user 
    has_many :user_ads, dependent: :destroy 
    accepts_nested_attributes_for :user_ads, allow_destroy: true, reject_if: :all_blank 

    def ad_places_json 
    self.as_json(
    include: { 
     user_ads: { 

     } 
    }) 
    end 
end 

Zweites Modell:

class UserAd < ActiveRecord::Base 
    belongs_to :ad_place 
end 

Von meinem Controller ich alle AdPlaces zu bekommen versuche alle UserAds haben. Also meine Methode der Steuerung ist folgende:

def get_ads 
     ad_places = AdPlace.includes(:user_ads).where(user_id: @current_user.id) 
     render json: { 
      ad_places: ad_places.each {|ad| ad.ad_places_json}, 
      message: ['success'] 
     }, 
      status: :ok 
    end 

Die obige Funktion macht alle AdPlaces aber UserAds. Die SELECT-Abfrage auf dem Server ist das folgende:

User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 7]] 
    AdPlace Load (0.9ms) SELECT "ad_places".* FROM "ad_places" 
    UserAd Load (0.5ms) SELECT "user_ads".* FROM "user_ads" WHERE "user_ads"."ad_place_id" IN (1, 8, 9, 10, 11, 12, 13) 

mir alles scheint perfekt, ich bin verwirrt, wo ich Fehler gemacht habe. Danke.

Antwort