你好,我的项目是大学1 - N City N - N Carreer 因此,一个carrer可以出现在许多城市,一个城市有许多carrers。
我的模特:
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”来保存数据库实现N-N
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”和app粉碎,但是如果我在展示城市的时候画画,那就是我的职业生涯。
我们可以帮助我吗?感谢答案 0 :(得分:0)
render json: { City.all, include: [:carrers] }
如果你有索引方法的@cities
实例变量,你可以这样做......
render json: { @cities, include: [:carrers] }
并且,出于性能原因,请执行此操作
City.include(:carrers) # 'include' to avoid n+1 query.