我正在尝试将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
最好的方法是什么?
答案 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: '...'
});