- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一些路线,从我的模型中过滤掉已批准和未批准的照片(基于 bool 值)。
这是我的主要照片
、已批准
和未批准
路线:
# router.js
App.Router.map ->
@resource "photos", ->
@resource "photo",
path: ":photo_id"
# additional child routes
@route "approved"
@route "disapproved"
# photos_routes.js
App.PhotosRoute = Ember.Route.extend(
model: ->
App.Photo.find()
)
App.PhotosApprovedRoute = Ember.Route.extend(
model: ->
@store.filter "Photo", {approved: true}, (photo) ->
photo.get("approved")
renderTemplate: ->
@render "photos"
@render controller: "PhotosController"
)
App.PhotosDisapprovedRoute = Ember.Route.extend(
model: ->
@store.filter "Photo", {approved: false}, (photo) ->
not photo.get("approved")
renderTemplate: ->
@render "photos"
@render controller: "PhotosController"
)
这是我的 photo.js
模型:
App.Photo = DS.Model.extend(
name: DS.attr("string")
description: DS.attr("string")
image_url: DS.attr("string")
approved: DS.attr("boolean")
)
最后,我的 application.hbs
和 photos.hbs
模板:
{{!-- application.hbs --}}
<header id="header">
<h2>{{#link-to "index"}}Home{{/link-to}}</h2>
<nav>
<ul>
<li>{{#link-to "photos"}}All photos{{/link-to}}</li>
<li>{{#link-to "photos.approved"}}Approved{{/link-to}}</li>
<li>{{#link-to "photos.disapproved"}}Disapproved{{/link-to}}</li>
</ul>
</nav>
</header>
<div id="content">
{{outlet}}
</div>
{{!-- photos.hbs --}}
<h1>Photos</h1>
<ul>
{{#each controller}}
<li class="masonry-brick">
<img {{bind-attr src=image_url}} alt="Logo">
</li>
{{else}}
<li>There are no photos.</li>
{{/each}}
</ul>
{{outlet}}
当我单击 photos.approved
或 photos.disapproved
上的链接时,我在控制台中收到以下错误:
TypeError: Object Photo has no method 'eachRelatedType'
Uncaught Error: Assertion Failed: TypeError: Object Photo has no method 'eachRelatedType'
完整堆栈跟踪:
TypeError: Object Photo has no method 'eachRelatedType'
at DS.JSONSerializer.DS.Serializer.extend.configureSideloadMappingForType (http://localhost:3000/assets/ember-data.js?body=1:7798:10)
at DS.JSONSerializer.DS.Serializer.extend.sideload (http://localhost:3000/assets/ember-data.js?body=1:7768:10)
at DS.JSONSerializer.DS.Serializer.extend.extractMany (http://localhost:3000/assets/ember-data.js?body=1:7692:10)
at superWrapper [as extractMany] (http://localhost:3000/assets/ember.js?body=1:1240:16)
at DS.Adapter.Ember.Object.extend.didFindQuery (http://localhost:3000/assets/ember-data.js?body=1:8329:29)
at http://localhost:3000/assets/ember-data.js?body=1:9912:15
at invokeCallback (http://localhost:3000/assets/ember.js?body=1:9754:19)
at publish (http://localhost:3000/assets/ember.js?body=1:9424:9)
at Promise.publishFulfillment (http://localhost:3000/assets/ember.js?body=1:9844:7)
at Object.DeferredActionQueues.flush (http://localhost:3000/assets/ember.js?body=1:5894:24)
at Object.Backburner.end (http://localhost:3000/assets/ember.js?body=1:5985:27) ember.js?body=1:3462
Uncaught Error: Assertion Failed: TypeError: Object Photo has no method 'eachRelatedType' ember.js?body=1:74
Ember.assert ember.js?body=1:74
Ember.RSVP.onerrorDefault ember.js?body=1:16899
__exports__.default.trigger ember.js?body=1:8718
Promise._onerror ember.js?body=1:9442
publishRejection ember.js?body=1:9849
DeferredActionQueues.flush ember.js?body=1:5894
Backburner.end ember.js?body=1:5985
Backburner.run ember.js?body=1:6024
Ember.run ember.js?body=1:6427
hash.success ember-data.js?body=1:10004
fire jquery.js?body=1:3049
self.fireWith jquery.js?body=1:3161
done jquery.js?body=1:8236
callback
最佳答案
抱歉,我不应该在评论中回复。您的堆栈跟踪发生在您的自定义序列化器中。您可能应该发布该代码,因为这就是错误所在。
但是考虑到错误,以及 eachRelatedType
是静态方法而不是实例方法这一事实,您很可能是在实例上调用它。调用 photo.constructor.eachRelatedType()
或 App.Photo.eachRelatedType()
,而不是 photo.eachRelatedType()
。
编辑:看来您没有自定义序列化器。但 Ember-Data 从不调用eachRelatedType,它只是定义它。您使用什么版本的 Ember-Data?
EDIT2:似乎这个特定问题已通过从 Ember-Data 0.14 升级得到解决。尽管尚不清楚其确切原因。 (可能是 Ember-Data 错误。)
关于javascript - Ember.js 错误 : Object Photo has no method 'eachRelatedType' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22051678/
我正在尝试创建一些路线,从我的模型中过滤掉已批准和未批准的照片(基于 bool 值)。 这是我的主要照片、已批准和未批准路线: # router.js App.Router.map -> @res
我是一名优秀的程序员,十分优秀!