이 내 products.index
이 모습입니다 : 내가 클릭하면 링크 "제품 만들기"products.index에 비어있는 제품이 표시되는 이유는 무엇입니까?
. 그것은 나를 /products/new
으로 보낸다. 거기에 양식이 보이지만 제출하지 말고 대신 "취소"버튼을 클릭하십시오. 내 컨트롤러에서 products.index
페이지로 리디렉션되는 작업이 있습니다.
actions: {
cancel: function() {
this.transitionToRoute('products.index');
return false;
}
}
는 /products
, 난을 참조하십시오
...을 API의 DB는 어떤 제품이 없습니다. 페이지를 새로 고치면 빈 제품이 사라집니다. 여기서 뭐하는거야?
전체 코드 : (비 엠버 - 전문가 등)
// app/routes/products/index.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.find('product');
}
});
// app/routes/products/new.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.createRecord('product');
},
});
// app/controllers/select-addresses/new.js
export default Ember.ObjectController.extend({
actions: {
cancel: function() {
this.transitionToRoute('products.index');
return false;
}
}
});
// app/templates/products/index.hbs
<h1>Products index</h1>
<p>{{#link-to 'products.new'}}Create product{{/link-to}}</p>
<ul>
{{#each}}
<li>
{{#link-to 'products.show' this}}<strong>{{name}}</strong>{{/link-to}}
<br />Description: {{description}}
<br />Amount in cents: {{amountInCents}}
<br />{{link-to 'Edit' 'products.edit' this}} · <a href="#" {{action "delete" this}}>Delete</a>
<br /><br />
</li>
{{/each}}
</ul>
// app/templates/products/new.hbs
<h1>Add a new friend</h1>
<form {{action "save" on="submit"}}>
<p>
<label>Name:
{{input value=name}}
</label>
{{#each error in errors.name}}
<br />{{error.message}}
{{/each}}
</p>
<p>
<label>Description:
{{input value=description}}
</label>
{{#each error in errors.description}}
<br />{{error.message}}
{{/each}}
</p>
<p>
<label>Amount in cents:
{{input value=amountInCents}}
</label>
{{#each error in errors.amountInCents}}
<br />{{error.message}}
{{/each}}
</p>
<p>
<label>Status:
{{input value=status}}
</label>
{{#each error in errors.status}}
<br />{{error.message}}
{{/each}}
</p>
<input type="submit" value="Save"/>
<button {{action "cancel"}}>Cancel</button>
</form>
{{outlet}}
맞습니다. 한 가지 방법은 https://github.com/yapplabs/ember-buffered-proxy 어딘가에 사용하는 것입니다. – Leeft
그것은 당연한 추측입니다. 'store.createRecord'는 어디에 정의되어 있다고 생각합니까? –
@Leeft 확실히 일어나고 있다면 이것은 아주 일반적인 문제입니다. 외부 라이브러리를 설치하지 않고도 "정상적으로"진행할 수있는 방법이 있습니까? 아마도 "엠버 웨이"가 있을까요? –