未捕获错误:没有处理动作'编辑' - 更正控制器名称以执行操作

时间:2015-02-18 04:48:23

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

首先,我是ember的新手。我有一个" show" "templates/orders/show.hbs"内的车把。此车把中的表单提交操作始终返回"Uncaught Error: Nothing handled the action 'edit'。如果您确实处理了该操作,则可以通过从控制器中的操作处理程序返回true来导致此错误,从而导致操作冒泡。" 。我在controllers/orders.js中定义了编辑操作。我将编辑操作放在错误的文件中。如果是这样的话,那么正确的地方是什么?#34;编辑"行动。

车把(show.hbs):

<form class="form-horizontal" {{action "edit" this on="submit"}}>
<div class="control-group">
    <div class="control-label">
        <label>Name</label>
    </div>

    <div class="controls">
      {{input value=name type="text"}}
    </div>
</div>

<div class="control-group">
    <div class="control-label">
        <label>Age</label>
    </div>

    <div class="controls">
      {{input value=fury type="text"}}
    </div>
</div>
<button type="submit" class="btn">submit</button>
</form>

 controller file (orders.js):
    export default Ember.ObjectController.extend({
      actions: {
        edit: function(){
          console.log('EDIT - Entered');
        }
      }
    });

谢谢!

1 个答案:

答案 0 :(得分:1)

正如有人指出的那样,关于你如何渲染模板,你的问题有点模糊。

首先,确保安装了Ember检查器。有ChromeFirefox的版本,可能还有其他浏览器版本。这将使您的Ember应用程序调试变得更加简单。安装并打开Inspector后,导航到“View Tree”,您应该能够确定哪个控制器是模板的活动控制器。

使用语法:

{{action "myAction"}}

该操作将冒泡到当前负责模板的控制器。此外,如果您的模板在视图中呈现,并且您希望视图处理操作而不是控制器,则可以指定:

{{action "myAction" target="view"}}