0

我是 ember 的新手,如果我使用下面的代码,它什么也不会显示。

我的 order_controller.js

Office.OrderController = Ember.Controller.extend({

});

我的客户.车把

 {{#each order in orders}}
                    <tr>
                        <td></td>
                        <td>{{order.mode}}</td>
 {{/each}}

我的 customer_route.js

Office.CustomerRoute = Ember.Route.extend({
    model: function(params) {
        return Office.Customer.find(params.customer_id);
    },
    setupController: function(controller, model) {
        controller.set('content', model);
    }
});

我的模型是(order.js)

Office.Order = DS.Model.extend({
    mode: DS.attr('string'),
    price: DS.attr('float'),

});

我的序列化器是 order_single_serializer.rb

class OrderSingleSerializer < ActiveModel::Serializer
  attributes :mode, :price
  embed :ids, include: true
end
4

1 回答 1

0

这里不是挑剔你的例子,而是我使用的一个简单的例子DS.FixtureAdapter。假设您的响应遵循约定,在将适配器切换到DS.RESTAdapter.

Office = Em.Application.create();

Office.Store = DS.Store.extend({
  adapter: "DS.FixtureAdapter"
});

Office.Router.map(function() {
  this.resource("customers", function() {
    this.resource("customer", { path: ":customer_id" });
  });
});

Office.IndexRoute = Em.Route.extend({
  redirect: function() {
    this.transitionTo("customers");
  }
});

Office.CustomersRoute = Em.Route.extend({
  model: function() {
    return Office.Customer.find();
  }
});

Office.OrdersRoute = Em.Route.extend({
  model: function() {
    return Office.Order.find();
  }
});

Office.Customer = DS.Model.extend({
  name: DS.attr("string"),
  orders: DS.hasMany("Office.Order")
});

Office.Order = DS.Model.extend({
  mode: DS.attr("string"),
  price: DS.attr("number")
});

Office.Customer.FIXTURES = [{
  id: 1,
  name: "Stan Smith",
  orders: [1, 2]
}, {
  id: 2,
  name: "Brian Griffin",
  orders: [3, 4, 5]
}];

Office.Order.FIXTURES = [{
  id: 1,
  mode: "abcd",
  price: 12.34
}, {
  id: 2,
  mode: "efgh",
  price: 15.99
}, {
  id: 3,
  mode: "ijkl",
  price: 1.99
}, {
  id: 4,
  mode: "mnop",
  price: 3.49
}, {
  id: 5,
  mode: "qrst",
  price: 9.99
}];

模板:

<script type="text/x-handlebars">
  {{outlet}}
</script>

<script type="text/x-handlebars" id="customers">
  {{#each model}}
  <div>
    {{#linkTo "customer" this}}
      {{name}}
    {{/linkTo}}
  </div>
  {{/each}}
  <hr>
  {{outlet}}
</script>

<script type="text/x-handlebars" id="customer">
  <h2>{{name}}</h2>

  <p>Has {{orders.length}} orders</p>
  {{render "orders" orders}}
</script>

<script type="text/x-handlebars" id="orders">
  <h3>Orders</h3>
  {{#each model}}
    <div>{{mode}} - {{price}}</div>
  {{/each}}
</script>
于 2013-08-01T18:59:29.587 回答