0

我一直在尝试在同一个视图中呈现数据,但似乎无法正确处理。我希望能够在位置显示插座上呈现每个位置的评级。

这就是我所拥有的。

我尝试了不同的路线和不同的资源嵌套,以及在 rails 控制器中呈现不同的东西。我可以取回正确评级的哈希值,但不知道如何显示它。

我假设我的 Rails 控制器有问题,或者我需要在 Handlebars 视图中做一些事情。我已经尝试了很多东西,所以我什至没有发布我的 Rails 的东西。如果这个 Ember 的东西是正确的,那么使用把手和导轨控制器渲染它的正确方法是什么。

App.Router.reopen
  location: 'history'
  rootURL: '/'

App.Router.map ->
  @resource 'users', ->
    @route 'new',
@route 'edit',
      path: '/:user_id/edit'
    @route 'show',
      path: '/:user_id'
  @resource 'locations', ->
    @route 'new',
    @route 'show',
      path: '/:location_id'
  @resource 'ratings', ->
    @route 'new',
    @route 'show',
      path: '/:ratings_id'

App.Rating = DS.Model.extend(
  rating: DS.attr('string', defaultValue: "-0")
  description: DS.attr('string', defaultValue: "No Description Provided")
  location: DS.belongsTo("App.Location")
  )

App.Location = DS.Model.extend(
  name: DS.attr('string', defaultValue: "")
  address:  DS.attr('string', defaultValue: "")
  city: DS.attr('string', defaultValue: "")
  state:DS.attr('string', defaultValue: "")
  ratings: DS.hasMany('App.Rating')
  fullAddress: (->
    "http://maps.google.com/?q=#{@get('address')},#{@get('city')},#{@get('state')}}"
  ).property('address')
)


App.Store = DS.Store.extend(
  revision: 11
  adapter: DS.RESTAdapter.create(mappings:
    ratings: App.Rating
  )
)
4

1 回答 1

0

没有模板、路由或控制器就很难说。

由于您在模型之间存在关系,因此在模板中引用它的方式将是location.ratingslocation 将是您的#each. 这工作得很好。如果您已旁载评级,您将可以立即访问它们。或者它会请求从服务器获取这些评级。

引用来自不同控制器的数据的另一个主要思想是使用needsAPI。

needs: 'foo',
ratingsBinding: 'controllers.foo'
于 2013-07-21T05:23:58.760 回答