2015-11-24 110 views
0

你好我有這個模型在我的項目中,大學1 - N城市N - N Carreer 所以,一個carrer可以出現在許多城市和一個城市有很多carrers。多對多關係4

我的模型:

University.rb 
    class University < ActiveRecord::Base 
    has_many :sedes 
    end 

City.rb 
    class Sede < ActiveRecord::Base 
     belongs_to :university 
     has_and_belongs_to_many :carrers 
    end 

Carrer.rb 
    class Carrer < ActiveRecord::Base 
    has_and_belongs_to_many :cities 
    end 

然後我創建了一個遷移 「CitiesCarrers」 拯救聯合國數據庫realtionship NN

class CreateCitiesCarrers < ActiveRecord::Migration 

    def change 
     create_table :cities_carrers, :id => false do |t| 
     t.references :city 
     t.references :carrer 
     end 
     add_index :cities_carrers, :city_id 
     add_index :cities_carrers, :carrer_id 
    end 
    end 

所以,我該怎麼辦城市JSON顯示,該carrers這是與它的關係?

in my CitiesController 

    def index 
     render json: {cities: City.all, carrers: Carrer.all }, methods: {:university_id :carrer_id } 
    end 

我放在那裏「:carrer_id」和應用粉碎,但如果我畫它時,我展示的城市,行業是blak。

我們可以幫到我嗎?感謝

+0

逗號缺失之前:carrer_id,只是一個錯字? – Swards

回答

0
render json: { City.all, include: [:carrers] } 

如果你有從索引方法的@cities實例變量,你可以這樣做......

render json: { @cities, include: [:carrers] } 

而且,出於性能考慮,這樣做

City.include(:carrers) # 'include' to avoid n+1 query.