初めての Ember アプリを作成する過程で、REST アダプターを使用して API に新しいリソースを POST する方法を理解できませんでした。
アプリはリソースのリストを正常に取得して表示するため、モデルが正しく定義されているようで、アダプターと API 間の通信が機能しています。CreateBugView ボタンをクリックすると、新しいインスタンスがリストに表示されるので、この部分も機能します。ただし、インスペクターで、API に対して POST リクエストが行われていないことを確認できます。ページを更新すると、予想どおり、インスタンスはどこにも表示されません。
私は、Ember の 1.0.0-rc.1 バージョンと、今日複製してビルドした Ember Data のバージョンを使用しています。
以下は私のコードです。何が問題なのかを理解するのを手伝ってくれる人に感謝します。
App = Em.Application.create()
# Templates
require 'templates/application'
require 'templates/index'
# Models
App.Bug = DS.Model.extend
name: DS.attr 'string'
# Views
App.CreateBugView = Em.View.extend
tagName: 'button'
click: (evt) ->
bug = App.Bug.createRecord
name: 'Sean'
# Routes
App.IndexRoute = Em.Route.extend
model: -> App.Bug.find()
setupController: (controller, bugs) ->
controller.set 'bugs', bugs
controller.set 'App', App
# Store
App.Store = DS.Store.extend
revision: 12
# Router
App.Router.map ->
@route 'index', path: '/'
App.initialize()
索引テンプレート
<ul>
{{#each bugs}}
<li>{{name}}</li>
{{/each}}
</ul>
{{#view App.CreateBugView}}
Create new bug!
{{/view}}