所以我正在制作一个小玩具余烬应用程序,它会向用户提供一些改进的提示来创建漫画。在一段时间后,用户将能够上传他们完成的漫画。
我已经完成了整个工作,直到将用户上传表单上传完成的漫画。
到目前为止,一切都是一条路线,控制器和模型(提示)。最后,他们真的应该使用漫画记录。目前,所有内容都在同一个模板中,我将上传表单放入视图中:
App.UploadComicView = Ember.View.extend
templateName: "upload_comic"
tagName: "form"
classes: ['form-horizontal']
submit: ->
@get('controller').uploadComic(@get('comicTitle'))
false
对于以下型号:
App.Comic = DS.Model.extend
title: DS.attr('string')
我尝试在prompts_controller中执行以下操作:
uploadComic: (title) ->
App.Comic.createRecord(title: title)
@get('store').commit()
但是,尝试将更新操作发送到后端的提示控制器,而不是对漫画控制器的创建请求。
所以看起来我真的应该有一个单独的余烬控制器/模板/模型/路线的漫画,但我不知道如何从挑战结束时的提示控制器到漫画控制器,以便在数据库中创建一个新的漫画对象。更糟糕的是,我还需要将当前提示控制器中的选定提示发送到新的上下文。
最好的方法是什么?
答案 0 :(得分:1)
当您执行App.Comic.createRecord
时,它会对请求正文POST
执行/comics
到{title: 'your title'}
。这与您从哪个控制器/位置无关。你是说它去其他地方吗?如果是这种情况,请发布jsbin。
关于与/访问其他控制器进行通信的需要,您可以在其他控制器内使用needs
声明。
needs: 'comics'
comicsBinding: 'controllers.comics'
您现在可以通过其中的this.get('comics')
访问漫画控制器。