이것은 내가 그것을 대답하는 방법을 잘 모르겠어요 질문, 나는이 같은 중첩 된 경로가 있습니다 :Emberjs 중첩 된 경로 및 자원
Router.map(function() {
this.resource('pages', function(){
this.resource('page', { path: '/:id' }, function(){
this.route('edit', function(){
this.resource('images', function(){
this.resource('image', { path: '/:id'}, function(){
this.route('edit');
})
});
});
});
});
});
그러나 것은 내가 알고하지 않는 것이 내 수정 경로 (this.route('edit', function(){})
)는 route
또는 resource
이어야합니다. 내 응용 프로그램에서, 나는이 같은 이동 것이기 때문에
: 는
/pages/
=>/pages/1/
=>pages/1/edit
=>/pages/1/edit/images
=>/pages/1/edit/images/2
(의 이미지에 대한 페이지 ID 1과 2를 보자) 하지만 하나의 문제는 내가 이렇게 설정할 때입니다.
page = this.modelFor ('page');
{{#each item in model}}
{{#link-to "image" page item}}
{{list-row item=item}} //component to display row in a table
{{/link-to}}
{{else}}
{{no-items}}
{{/each}}
링크 내 목록은 다음과 같습니다
/pages/1/edit/images/1
/pages/2/edit/images/2
/pages/3/edit/images/3
그것은 내가 그이 가능 방법을 이해하지 않는 이미지와 동일한 ID를 사용하는 페이지 ID 같다 :/
을[편집] :
/images/
내부의 이미지를 클릭하면 전환이 2 번 발생하고 콘솔에 디버그로 표시됩니다 :
Rendering image with default view <[email protected]:default::ember844> Object {fullName: "view:image"}
vendor.js:28547 Could not find "image.index" template or view. Nothing will be rendered Object {fullName: "template:image.index"}
vendor.js:28547 Transitioned into 'pages.page.edit.images.image.index'
vendor.js:28547 Could not find "images.index" template or view. Nothing will be rendered Object {fullName: "template:images.index"}
vendor.js:28547 Transitioned into 'pages.page.edit.images.index'
[EDIT2] : 내 페이지 (I 그 경로에 대해 동일한 경고를했다)에 대한 폴더를 만든 후
, 그것은 나에게이 제공 :
Could not find "pages" template or view. Nothing will be rendered Object {fullName: "template:pages"}
vendor.js:28547 Rendering pages.index with default view <[email protected]:default::ember518> Object {fullName: "view:pages.index"}
vendor.js:28547 Transitioned into 'pages.index'
[EDIT3] 내 응용 프로그램 구조가 다음과 같은 경우 콘솔 출력입니다.
- templates/
- pages.hbs
- page.hbs
- //other resources
generated -> route:pages.index Object {fullName: "route:pages.index"}
webmob/routes/pages.js:12 DEBUG: Already log in
VM69786:161 Ember Inspector Active
vendor.js:28547 Rendering application with default view <[email protected]:toplevel::ember480> Object {fullName: "view:application"}
vendor.js:28547 Rendering pages with default view <[email protected]:default::ember489> Object {fullName: "view:pages"}
vendor.js:28547 generated -> controller:pages.index Object {fullName: "controller:pages.index"}
vendor.js:28547 Could not find "pages.index" template or view. Nothing will be rendered Object {fullName: "template:pages.index"}
vendor.js:28547 Transitioned into 'pages.index'
vendor.js:28547 generated -> route:page.index Object {fullName: "route:page.index"}
나는 모든 것이 올바르게 표시되지만 항상 경고를 표시합니다. 내가 만들 때 페이지는 다음과 같이 폴더 :
- templates/
- pages/
- index.hbs //empty file
- pages.hbs
- page.hbs
- //other resources
내 콘솔이 있습니다
generated -> route:pages.index Object {fullName: "route:pages.index"}
webmob/routes/pages.js:12 DEBUG: Already log in
vendor.js:28547 Rendering application with default view <[email protected]:toplevel::ember419> Object {fullName: "view:application"}
vendor.js:28547 Rendering pages with default view <[email protected]:default::ember428> Object {fullName: "view:pages"}
vendor.js:28547 generated -> controller:pages.index Object {fullName: "controller:pages.index"}
vendor.js:28547 Rendering pages.index with default view <[email protected]:default::ember443> Object {fullName: "view:pages.index"}
vendor.js:28547 Transitioned into 'pages.index'
vendor.js:28547 generated -> route:page.index Object {fullName: "route:page.index"}
VM70411:161 Ember Inspector Active
오 마이 갓! 그게 너무 논리적 인 ... 많은 많은 감사합니다! 나는 또한 나의 라우터를'resource'로 바꾼다. 그리고 잘 작동한다. 하지만 마지막으로 한 가지 문제가 있습니다. URL이'/ pages/2/edit/images/1'가 아닌'/ pages/2/edit/images' 이미지를 클릭하면, 좋은 이드이지만 자동으로 이미지로 리디렉션됩니다. 왜 그럴까요? (2 전환을 ...) – SuperMarco
나는이 남은 문제에 대한 단서를 가지고 있지 않습니다. LOG_TRANSITIONS 및/또는 LOG_TRANSITIONS_INTERNAL 플래그를 사용하여 Ember 응용 프로그램을 인스턴스화하려고 시도 했습니까? (http://emberjs.com/guides/understanding-ember/debugging/ 참조) – Benito
나는 이미 깃발을 가지고 있으며, 나는 주요 주제를 업데이트했다. 나는 그 경고를 고칠 때도 여전히 같은 문제가있다. – SuperMarco