0

そのため、すべての Emberjs をうまく連携させるには長い数日かかりました。私はこの旅が本当に好きですが、時折、これをするのが年を取り始めていると感じ始めています.

/#/Records リンクにヒットするアプリがあります。それらから Rails にクエリを実行し、結果を返し、他のページの show ビューを取得する必要があります。これをシングルページアプリとして使用し、ページにビューを配置したとき、動作していました....この2日間、混乱が忍び寄りました.(ビューなどの余分な部分は削除されています.

部分的に表示されている私の 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 = 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({
});
4

1 に答える 1

0

レコード ルートを次のように変更します。このモデル フックは、コントローラーがコンテンツ/モデルを取得する方法を指定する方法を提供します。ネットワークタブを表示すると、バックエンドからすべてのレコードを取得する ajax リクエストが表示されます (ember-data 経由)。

App.RecordsRoute = Ember.Route.extend({
    model: function() {                                                                                                                
        return App.Record.find();
    }
});
于 2013-02-07T10:45:20.467 に答える