0

我正在尝试将 HAML 与 Handlebars 一起使用,但事情无法正常工作,从而产生如下错误:

Assertion failed: Expected hash or Mixin instance, got [object Function] 

以下是我的看法:

%br

%h2 Replies

%table{:class => "table table-striped"}
  %thead
    %tr
      %th Id
      %th Description
      %th User
      %th Actions
  %tbody
    - @ticket.note.each do |note|
      %tr
        %td= note.id
        %td= note.description
        %td= note.user.name
        / %td= link_to 'Edit', edit_note_path(note), :class => "btn btn-small" 
        %td <script type="text/x-handlebars">{{#linkTo 'notes'}}Edit{{/linkTo}}</script>
= link_to 'New', new_note_path, :class => "btn btn-primary"

我要做的是仅在编辑链接上使用把手并将其连接到 Ember.js

解决此问题的最佳方法是什么?

4

2 回答 2

1

While the issue could be Ember related, write the script tag in HAML to be consistent:

%td
  %script{:type => "text/x-handlebars"}
    {{#linkTo 'notes'}}Edit{{/linkTo}}
于 2014-02-12T00:59:37.280 回答
0

我认为这个错误与haml无关。当您尝试扩展一个类并且某个值不是 javascritpt 对象或 mixin 时,就会发生这种情况。在你的情况下是一个功能。

// some mistake set a function to this 
App.MyMixin = function() {}

// here will crash
App.SomeView = Ember.View.extend(App.MyMixin, {
  title: '...'
});
于 2013-09-21T18:58:47.233 回答