現在、私はActionCableを学んでいます(代わりにエラー)。 私は奇妙な問題に直面しています。代わりにアクションケーブルが働いています。データをプッシュします。
私の目標は、グループ作成のためのチャネルを構築することです。ユーザがリフレッシュせずに新しいものを見ることを許可する。
この時点で、すべてがうまくいっています。しかし、私のグループの名前を表示しようとすると、ActionCableはもう働きません。グループはうまく作成されますが、リアルタイムでは表示されません。だから私はそれらを見るためにページを更新する必要があります。誰もこの問題について私を助けることができますか?
マイコード:
コントローラ(グループ):
def index
@company = current_user.company
@groups = @company.groups
end
チャンネル(グループ):
class GroupsChannel < ApplicationCable::Channel
def subscribed
stream_from "groups"
end
def speak(data)
group = Group.create(name: data['group'], company_id: 12)
html = ApplicationController.render(partial: 'groups/group', local: {
group: group
})
ActionCable.server.broadcast 'groups', group: html
end
end
コーヒーファイル(グループ):
のApp.groups = App.cable.subscriptions.create "GroupsChannel",
connected: ->
$(document).on 'keypress', '#group_name', (event) =>
if (event.keyCode == 13)
@speak(event.target.value)
$('#group_name').val('')
$('#MyNewGroup').modal('toggle')
disconnected: ->
# Called when the subscription has been terminated by the server
received: (data) ->
$('#groups_area').append(data.group)
speak: (group) ->
@perform 'speak', {group: group}
ビュー(インデックス):
<div class="container">
<h1 style="text-align:center; margin-bottom: 30px; margin-top: 10px;">Vos groupes</h1>
<div id="groups_area">
<%= render @groups%>
</div>
</div>
ビュー(_group)
<div class="col-md-3">
<div class="panel panel-success">
<div class="panel-heading">
<h3 style="margin-top:0; text-align:center">
====================================Problem========================================
<%= group.name %>
====================================Problem========================================
</h3>
</div>
<div class="panel-body">
test body
</div>
</div>
</div>
だから私はこの行を追加するとき<% = group.name%>、先頭に追加アクションもう動作していません。
クール!おかげさまで@Laith Azer、あなたは私の夜を救っています! –
あなたは一番歓迎です:) –
いいキャッチ@LaithAzer –