Coffeescript变量连接导致"未捕获的TypeError值不是函数"

时间:2017-10-24 18:35:13

标签: javascript ruby-on-rails coffeescript

我在Rails中创建一个使用ActionCable / Websockets的应用程序,并且我使用coffeescript使用ActionCable中当前频道收到的数据更新用户浏览器。当我运行此代码时,我收到错误"未捕获的TypeError:data.user.name不是函数",但是当我交换data.user.id和data.user.name时,错误就是数据。用户身份。我认为我的语法错了,但我无法找到答案。任何帮助,将不胜感激。感谢

received: (data) ->
  $('#players-table').show()
  $('#players-table-body').append '<tr>' + 
    '<td>' + data.user.id + '</td>' + 
    '<td>' + data.user.name +'</td>'

1 个答案:

答案 0 :(得分:2)

听起来很奇怪,但在最后+之后你需要一个空格:

received: (data) ->
  $('#players-table').show()
  $('#players-table-body').append '<tr>' + 
    '<td>' + data.user.id + '</td>' +
    '<td>' + data.user.name + '</td>'

没有它,它会使data.user.name打开括号并放入+'</td>'内,如:

return $('#players-table-body').append('<tr>' + '<td>' + data.user.id + '</td>' + '<td>' + data.user.name(+'</td>'));