我有一个Ember 1.10应用程序,支持2种模型,学生和家长的API支持,以及每种模型的基本CRUD设置,以及读/写消息的能力学生和家长访问他们各自的/展示页面时。命名空间,共享模型,在Ember中重复使用控制器
我必须创建一个收件箱,其中的信息以及学生和家长的所有其他数据都可用,并且必须这样做,但无法更改或添加到api(即,我可以'创建消息端点) 。
基本上,我需要保持学生和家长模型和控制器,因为他们,但需要能够从收件箱下的命名空间,像这样的路线访问它们:
Students
-inbox
-index
-edit
-show
Parents
-inbox
Inbox
StudentInbox <-- should use StudentsRoute and StudentsController
-index
-show
-edit
ParentInbox
-index
-show
-edit
让来访/收件箱/ students/123将使用StudentRoute中定义的模型以及StudentController上定义的动作和属性。 InboxStudentsShowRoute应同样有权访问StudentsShowRoute和控制器。
不是从Student和Parent路由和控制器复制并粘贴现有代码,而是有办法将从Inbox命名空间下的模板触发的操作代理到相关的模型和控制器,并保持传递参数的能力。
例如,传入PARAMS像?unread=true
而InboxStudentsShow路线上会通过这些向StudentsShowRoute和控制器(和气泡适当地到它的父路线和控制器)或编辑从学生/收件箱学生/ 123 /编辑模板会像在学生/ 123 /编辑模板上一样工作?
Ember新手,并且知道必须有更好的方式来重用名称空间中的现有代码和代理操作。任何建议将不胜感激!
谢谢,丹尼尔。我的意思是通过传递查询参数,因为我希望在InboxStudentsShow模板上执行的操作能够更改和过滤在StudentsShow中设置的模型,我希望params如'?unread = true'来基于StudentShow模型上的消息未读。 我真正想要做什么,我可以在学生和StudentsShow路线已经做 - 这将需要改变的唯一事情是模板。今天我会给你一个解决方案,让你知道它是如何发展的。我很感激它干起了代码库。 – Jim
我认为你需要'Ember.Service'来保持两条路径中最重要的属性同步。我会很干净的做法。 –