我在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>'
答案 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>'));