使用带有HAML的把手

时间:2013-09-21 05:14:03

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

我正在尝试将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

最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

虽然问题可能与Ember有关,但请在HAML中写下script标记以保持一致:

%td
  %script{:type => "text/x-handlebars"}
    {{#linkTo 'notes'}}Edit{{/linkTo}}

答案 1 :(得分: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: '...'
});