我刚刚开始学习 ember,并且正在编写一个从数据库读取的简单应用程序。我已经让它以我想要的方式与固定装置一起工作,并且刚刚开始从数据库中读取一些进展。现在我的问题是我无法访问子元素 - 我有一个父类,我通过序列化程序使用 json 响应,并且我正在为 json 请求中的子元素提供服务。但是,我不知道从哪里去获取 ember 中的父类来读取和显示子元素。下面的代码可能更有意义。
如果您需要任何其他代码,请告诉我 - 这些都是标准的 Ember 代码,没有规范!我要继续的唯一线索是我当前的嵌套 ruby 路由用作群组/:id/boots/:id,而当使用夹具数据加载群组/:id/:id 时,ember :)
楷模:
Plato.Boot = DS.Model.extend(
name: DS.attr("string"),
cohort: DS.belongsTo('Plato.Cohort'),
hubs: DS.hasMany('Plato.Hub')
)
Plato.Cohort = DS.Model.extend(
name: DS.attr('string'),
boots: DS.hasMany('Plato.Boot')
)
路由.rb
root to: 'application#index'
resources :cohorts do
resources :boots
end
resources :boots
群组(父)控制器
class CohortsController < ApplicationController
respond_to :json
def index
respond_with Cohort.all
end
def show
respond_with Cohort.find(params[:id])
end
end
引导(子)控制器
class BootsController < ApplicationController
respond_to :json
def index
respond_with Boot.all
end
def show
respond_with Boot.find(params[:id])
end
end
Router.js.coffee
Plato.Router.map ()->
this.resource('cohorts', ->
this.resource('cohort', {path: '/:cohort_id'}, ->
this.resource('boot', {path: 'boots/:boot_id'})
)
)
Plato.CohortsRoute = Ember.Route.extend(
model: ->
Plato.Cohort.find()
)
Plato.BootsRoute = Ember.Route.extend(
model: ->
Plato.Boot.find(params)
)