Coffeescript 变量连接导致 "Uncaught TypeError value is not a function"

Coffeescript variable concatenation causes "Uncaught TypeError value is not a function"

我正在 Rails 创建一个使用 ActionCable/Websockets 的应用程序,我正在使用 coffeescript 使用从 ActionCable 中的当前频道接收的数据更新用户浏览器。当我 运行 此代码时,我得到错误 "Uncaught TypeError: data.user.name is not a function",但是当我交换 data.user.id 和 data.user.name 时,错误是 data.user.id。我认为我的语法有误,但找不到任何答案。任何帮助,将不胜感激。谢谢

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

这听起来很奇怪,但是在最后一个 +:

之后你需要一个 space
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>'));