【发布时间】:2018-06-04 15:12:47
【问题描述】:
我正在尝试通过 Faye Websocket 实现 websocket。
到目前为止,我已经能够在后端和客户端JS上实现websocket中间件来打开websocket并在双方发送和接收数据..
现在在 Rails 后端,我正在处理通过 lib 文件夹中的自定义类接收到的 websocket 消息。我想通过lib文件夹中myClass中的“request.remote_ip”获取客户端IP地址(计划在解决获取IP地址时添加user_agent信息),不幸的是无法直接访问它。
您能否指导我如何访问 lib 文件夹中的“请求”对象?
lib/myClass.rb
class myClass
ip_address = request.remote_ip
end
#<NameError: undefined local variable or method `request' for #<myClass:0x0055c6fb18d860>
Did you mean? require>
【问题讨论】:
-
将
request从控制器作为参数传递给库 -
我没有从控制器调用自定义类方法。我正在尝试使用 websocket .. myClass 正在处理通过 websocket 接收到的消息。我也不喜欢在可能被操纵的 websocket 中发送客户端 IP
-
能否添加更多上下文,例如调用类的位置以及触发调用的时间?
-
我有 Faye::Websocket 中间件,它正在监听 websocket 连接。在中间件代码中,我使用套接字消息作为参数调用 myClass
标签: ruby-on-rails ruby-on-rails-4 websocket