在Ember视图中获得结果

时间:2013-02-07 00:54:25

标签: ruby-on-rails ember.js

因此,让所有Emberjs的东西在一起玩得很好已经有好几天了。我真的很喜欢这个旅程,但是我不时地开始觉得这样做了。

所以我有一个应用程序点击/#/ Records链接。从他们需要查询Rails,返回结果,然后抓住其他页面上的显示视图。 当我把它作为一个单页应用程序,在页面上有视图时,我让它工作....现在最后两天,混乱已经悄悄进入。(视图中的一些额外位被删除。

我的hbs记录/索引视图文件部分显示:

  <table>
    <tr>
      <th>Name</th>
    <tr>
      <td colspan="3">{{counter}}</td>
    </tr>
    </tr>
      {{#each record in controller}}
        <tr>
          <td>{{#linkTo "record" record}} {{record.fullName}} {{/linkTo}}</td>
        </tr>
      {{/each}}
  </table>

我的Ember App:

App = Ember.Application.create({
    rootElement: '#ember'
});
App.RecordsController = Ember.ArrayController.extend({
});
App.Store = DS.Store.extend({
    revision: 11,
    adapter: 'DS.RESTAdapter'
});

App.Record = DS.Model.extend({
    firstName: DS.attr('string'),
    middleName: DS.attr('string'),
    surname: DS.attr('string'),
    suffix: DS.attr('string'),
})
App.Router.map(function(){
    this.resource('records');
    this.resource('record', {path: 'records/:record_id'})
});

App.IndexRoute = Ember.Route.extend({
    redirect: function(){
        this.transitionTo('records')
    }
});
App.RecordsRoute = Ember.Route.extend({
});

1 个答案:

答案 0 :(得分:0)

修改您的记录路线,如下所示。此模型钩子为您提供了一种指定控制器如何获取其内容/模型的方法。现在,当您查看网络选项卡时,您应该看到一个ajax请求,用于从后端获取所有记录(通过ember-data)

App.RecordsRoute = Ember.Route.extend({
    model: function() {                                                                                                                
        return App.Record.find();
    }
});