나는이 모델이 있습니다Ember.js "각"문제는 Ember.js에서
App.Product = DS.Model.extend({
name: DS.attr("string"),
ean: DS.attr("number"),
price: DS.attr("number"),
units: DS.attr("number"),
product_states: DS.hasMany('App.ProductState')
});
App.ProductState = DS.Model.extend({
price: DS.attr("number"),
units: DS.attr("number"),
product_id: DS.belongsTo('App.Product'),
user_id: DS.belongsTo('App.User'),
created: DS.attr("date")
});
을 그리고 나는이 각이 : 날이 오류를 제공
{{#if view.product}}
{{#each item in App.ProductState.find({ product_id: view.product.id})}}
<tr>
<td>{{view.product.name}}</td>
<td>{{item.price}}</td>
<td>{{item.units}}</td>
<td>{{item.created}}</td>
</tr>
{{/each}}
{{/if}}
(크롬) :
를Uncaught Error: Parse error on line 6:
...in App.ProductState.find({ product_id: v
-----------------------^
Expecting 'ID', got 'INVALID'
페이지를로드 할 때이 오류가 발생합니다. 로드 할 때 view.product는 NULL로 설정됩니다. 각각은 jQuery UI 대화 상자 안에 있으며 그 내용은 버튼의 결과로 view.set("product",product);
을 통해 동적으로 설정됩니다.
제품 오브젝트 설정은 대화 상자에서 제품 변수를 인쇄하고 싶을 때 제대로 작동하지만 각각을 사용할 때 충돌하기 때문에 작동합니다.
내 생각에 Ember는 if 조건을 무시하고 오류를 나타내는 각주기를 실행하려고합니다. 다른 옵션은 방금 find 메소드를 잘못 사용하고 있다는 것입니다 (btw Ember 가이드는 모델 관계를 설정하는 방법을 알려주지 만 내가 아는 한 어떤 효과가 있고 어떻게 제대로 사용하는지 언급하지 않습니다).
문제를 해결할 수 있습니까? 어쩌면 템플릿이나 무언가 대신 자바 스크립트 함수로 각각을 실행하는 것과 같은 것일까 요?
프레임 워크를 사용하여 컨트롤러에 데이터를로드 한 다음보기를 사용하여 표시해야합니다. – harn145
미안하지만, 너무 일반적입니다. – Ragnar
확실히, Ember.js 인 프레임 워크의 핵심입니다. 코드에 대한 세부 정보가 없으면 내가 할 수있는 최선입니다. 예 : 라우팅을 사용합니까? 그렇다면 해당 경로의 모델을 설정합니까? 그렇지 않은 경우 응용 프로그램보기는 어떻게 정의됩니까? 어떤 다른 요소들을 보여주고 있습니까? 뷰는 컨트롤러를 기반으로하고 컨트롤러의 'content'는 채우기 위해 사용하는 찾기 유형 또는 인스턴스화 방법에 따라 하나 이상의 레코드 (모델 인스턴스)를가집니다. 그래서 ObjectController 또는 ArrayController). – harn145