2017-10-24 11 views
2

ActionCable/Websocketを使用するRailsでアプリを作成していますが、Coffeescriptを使用してActionCableの現在のチャンネルから受信したデータでユーザーのブラウザを更新しています。このコードを実行すると、 "Uncaught TypeError:data.user.nameは関数ではありません"というエラーが表示されますが、data.user.idとdata.user.nameを交換すると、エラーはdata.user.idになります。私の構文は間違っていると思いますが、私は答えを見つけることができません。どんな助けもありがとう。おかげCoffeescript変数の連結により、「キャッチされていないTypeError値が関数ではありません」

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

答えて

2

それは奇妙に聞こえるだろうが、あなたは最後+後にスペースが必要です。それはdata.user.nameは括弧を開き、+'</td>'内に置くために作ると思い、それがなければ

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

を、 like:

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

これは、ありがとう! – RT5754

+0

他の人が同じ問題を抱えているとタイトルが編集されました。 –

+0

ええ、ありがとう、私はそれをマークしたが、私は10分待たなければならなかった – RT5754

関連する問題