使用ember-rails收集输入字段中提交的文本

时间:2016-10-03 14:06:05

标签: javascript ruby-on-rails ember.js

我正在关注一个ember-rails教程。它使用coffeescript,我在javascript中写作。基本上我有一个表单,当我在其上提交文本时,它应该放置下面的文本。

我的控制器看起来像这样:

Redim arr2

我的模板看起来像这样

Emberapp.ApplicationController = Ember.Controller.extend({

  entries: [],
  actions: {
    addEntry: function(){
      this.entries.pushObject name: this.get('newEntryName');
      this.set('newEntryName', "");
    }
  }
});

当我重新加载页面时,我收到一条错误消息,指出名称:this.get(' newEntryName');'是一个意外的标识符。我一直在线检查语法规则,但我不确定它是否是javascript错误或其他内容的coffeescript。

2 个答案:

答案 0 :(得分:1)

this.entries.pushObject name: this.get('newEntryName');`

无效JS。你想做什么

this.entries.pushObject({name: this.get('newEntryName')});

答案 1 :(得分:0)

控制器,

Emberapp.ApplicationController = Ember.Controller.extend({
     newEntryName: '',
      entries: [],
      actions: {
        addEntry: function(){
          this.get('entries').pushObject({name: this.get('newEntryName')});
          this.set('newEntryName', "");
        }
      }
    });

in hbs,

<div id = "container">
  <h1>Emberails</h1>

  {{ input value=newEntryName enter='addEntry' }}

  <ul>
    {{#each entries as |value|}}
      <li>{{value.name}}</li>
    {{/each}}
  </ul>

</div>

像Lux建议的那样考虑使用ember-cli并阅读http://guides.emberjs.com