直接输入 url 时不调用路由钩子
Route hooks are not called when the url is directly entered
我正面临与 Ember 路线相关的严重问题。
当我尝试通过 link-to
帮助器显示单个项目时,它工作正常并且 note.index
的路由中的挂钩被正确调用。但是当我直接在浏览器中输入 URL (localhost:4200/assessment/1/note/1
) 时,不会调用路由挂钩,它是 "model" 挂钩或 "setupController" 挂钩或任何其他挂钩。
基本上我想通过 store.find
.
向我的 rails 应用程序传递一些额外的参数
Router.js
@resource "assessment", path: 'assessments/:assessment_id', ->
@route 'edit'
@resource "notes", ->
@route "new"
@resource "note", path: "note/:note_id", ->
@route 'edit'
note/index.js
`import Ember from 'ember'`
noteIndexRoute = Ember.Route.extend
model: (params)->
console.log('********************Model Hook******************')
assessment = @modelFor('assessment')
@store.find('note',params.note_id,assessment_id: assessment.get('id')});
setupController: (controller,model)->
@_super controller, model
console.log('********************Setup Contr Hook********************')
assessment = @modelFor('assessment')
controller.set( "model",@store.find('note',model.id,assessment_id: assessment.get('id')});
`export default noteIndexRoute`
注意:我想将一些额外的参数传递给我的 rails API,这就是为什么我需要在获取项目时调用挂钩。
Ember版本为1.10.0。现在,当我在浏览器中输入 url 并且运行良好时,路由挂钩正在运行。实际上我的路由文件是 index.js,它存在于 note/index.js
路径中。我将 index.js 路由从笔记目录移动到 "app/routes/"
目录,并将名称从 index.js 文件更改为 note.js 文件。所以我的路由文件的新路径是 app/routes/note.js.
它解决了我的问题,现在我的挂钩正常工作并在我直接 url 进入 broswer 时被调用。
同样,我移动并更改了控制器文件和模板文件的名称和路径。从 note/index.js
和 note/index.hbs
到 app/routes/note.js
控制器和 app/templates/note.hbs 模板文件。
我正面临与 Ember 路线相关的严重问题。
当我尝试通过 link-to
帮助器显示单个项目时,它工作正常并且 note.index
的路由中的挂钩被正确调用。但是当我直接在浏览器中输入 URL (localhost:4200/assessment/1/note/1
) 时,不会调用路由挂钩,它是 "model" 挂钩或 "setupController" 挂钩或任何其他挂钩。
基本上我想通过 store.find
.
Router.js
@resource "assessment", path: 'assessments/:assessment_id', ->
@route 'edit'
@resource "notes", ->
@route "new"
@resource "note", path: "note/:note_id", ->
@route 'edit'
note/index.js
`import Ember from 'ember'`
noteIndexRoute = Ember.Route.extend
model: (params)->
console.log('********************Model Hook******************')
assessment = @modelFor('assessment')
@store.find('note',params.note_id,assessment_id: assessment.get('id')});
setupController: (controller,model)->
@_super controller, model
console.log('********************Setup Contr Hook********************')
assessment = @modelFor('assessment')
controller.set( "model",@store.find('note',model.id,assessment_id: assessment.get('id')});
`export default noteIndexRoute`
注意:我想将一些额外的参数传递给我的 rails API,这就是为什么我需要在获取项目时调用挂钩。
Ember版本为1.10.0。现在,当我在浏览器中输入 url 并且运行良好时,路由挂钩正在运行。实际上我的路由文件是 index.js,它存在于 note/index.js
路径中。我将 index.js 路由从笔记目录移动到 "app/routes/"
目录,并将名称从 index.js 文件更改为 note.js 文件。所以我的路由文件的新路径是 app/routes/note.js.
它解决了我的问题,现在我的挂钩正常工作并在我直接 url 进入 broswer 时被调用。
同样,我移动并更改了控制器文件和模板文件的名称和路径。从 note/index.js
和 note/index.hbs
到 app/routes/note.js
控制器和 app/templates/note.hbs 模板文件。