1

所以我正在制作一个小玩具 ember 应用程序,它会向用户展示一些即兴提示来创建连环画。一定时间后,用户将能够上传他们完成的漫画。

我已经完成了将表单预设给用户上传他们完成的漫画的工作。

到目前为止,一切都是一条路线、控制器和模型(提示)。但最后,他们真的应该使用漫画唱片。目前,一切都在同一个模板中,我把上传表单放到了一个视图中:

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()

但是,它尝试向后端的提示控制器发送更新操作,而不是向漫画控制器发送创建请求。

所以看起来我真的应该有一个单独的漫画控制器/模板/模型/路由,但我不确定如何在挑战结束时从提示控制器获取漫画控制器以创建一个新的数据库中的漫画对象。更糟糕的是,我还真的需要将选定的提示从当前提示控制器发送到新的上下文。

最好的方法是什么?

4

1 回答 1

1

当您执行 aApp.Comic.createRecord时,它将对请求正文执行POSTto 。这与您从哪个控制器/位置执行此操作无关。你是说它去别的地方吗?如果是这种情况,请发布一个 jsbin。/comics{title: 'your title'}

关于需要与其他控制器通信/访问,您可以使用needs其他控制器内部的声明。

needs: 'comics'
comicsBinding: 'controllers.comics'

您现在可以通过this.get('comics')里面访问漫画控制器。

于 2013-07-03T05:46:49.927 回答