の投稿メッセージの後にスクロールダウンし、私は今、私がメッセージRailsのアクションケーブル
を提出した後、チャットを下にスクロールする機能$('.scroll-bar').scrollTop(row);
次のJSを使用したい、アクションケーブルを構成し
したがって、前のコードをapp/assets/channels/messages.js
とapp/assets/javascripts/room.js
の両方に含めようとしました。
問題は、app/assets/channels/messages.js
を実行してからhtmlに新しい<p></p>
タグが追加されるまでです。
App.messages = App.cable.subscriptions.create('MessagesChannel', {
received: function(data) {
$("#messages").removeClass('hidden')
return $('#messages').append(this.renderMessage(data));
},
renderMessage: function(data) {
return "<p> <b>" + data.user + ": </b>" + data.message + "</p>";
}
});
これは私のチャットメッセージであり、私はまだ存在していない行に.scrollTop(row)
を実行することはできません。
<p>
タグは、messages.js
の後に追加されています。
私はreturn $('#messages').append(this.renderMessage(data));
からの復帰をコメントして.scrollTop(row)
メソッドの後に呼び出すことで、これを解決するために、一時的な解決策を見つけました。ソリューションは動作しますが、この方法ではhtmlのみが<p>
タグなしでページに追加されます。何とかrenderMessage
が正しく動作しません。
私はこのように私は<p>
タグちょうどテキストを追加しませんので、たくさん ファブリツィオBertoglio