可能的解决方法之一是使用params
方法来传递参数。例如,在客户端创建一个订阅时,可以传递一个params
哈希:
App.cable.subscriptions.create({ channel: 'MyChannel', params: { foo: 'bar' } }, {
received: function() { }
});
在频道中,可以通过params
方法来访问这些参数:
class MyChannel < ApplicationCable::Channel
def subscribed
channel_params = params
# use channel_params['foo'] to access the 'bar' value
end
end
这样应该可以让你的Actioncable频道接收到你所需要的参数。