我使用FAYE无需刷新页面就可以广播聊天消息,并且如果硬编码通道,它就可以工作。但我想在一个变量传递从我的消息控制器,并使用它作为频道播出,这样我可以有2人将导轨变量转换为js erb
在应用程序/视图/消息/ create.js.erb之间的私人聊天
<% broadcast @channel do %>
$("#chat").append("<%= escape_javascript render(@message) %>");
<% end %>
$("#new_message")[0].reset();
如果我将@channel更改为“/ messages”,它将正常工作,并且我的消息将在邮件存储在数据库中后立即显示在当前正在查看“/ messages”频道的所有人的屏幕上。
在我的消息控制器I有
def private
...
@channel = "/"[email protected]_s+"chatwith"+ @id2.to_s
...
end
这使得让每两个人聊了,只有他们有机会获得一个独特的渠道。其他用户不允许进入该页面,也无法访问该通道,这是控制器中其他代码完成的功能。
我只需要在每次发送消息时在create.js.erb中访问@channel,这样它就会被广播到该特定聊天的正确专用通道。
我该怎么做?
不是这种情况。该方法可能被称为“私人”,但这并不意味着它是一种私人方法。 – user2943464