我一直在尝试在同一视图中呈现数据,但似乎无法正确使用。我希望能够在显示出口位置的每个位置呈现评级。
这就是我所拥有的。
我尝试过不同的路由和不同的资源嵌套,以及在rails控制器中渲染不同的东西。我可以找回正确评级的哈希,但不知道如何显示它。
我假设我的rails控制器出了问题,或者我需要在Handlebars视图中做些什么。我已经尝试了很多东西,所以我甚至没有发布我的东西。如果这个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
)
)
答案 0 :(得分:0)
没有模板,路线或控制器,很难分辨。
由于模型之间存在关联,因此在模板中引用它的方式为location.ratings
,其中location将是#each
中的变量。这非常有效。如果您已经加载了评级,您将立即访问它们。或者它会请求从服务器获得这些评级。
引用来自不同控制器的数据的另一个主要想法是使用needs
API。
needs: 'foo',
ratingsBinding: 'controllers.foo'