gpt4 book ai didi

ruby - 在 Volt 框架中使用 ruby​​ 类

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:38 25 4
gpt4 key购买 nike

我想知道在 Volt 框架中包含 ruby​​ 类的最佳方法是什么。我想使用 Socket Class查找站点访问者的 IP 地址。我想在 Controller 中使用它,但是放置:

require 'socket'

在文件的顶部不起作用。有什么建议吗?

最佳答案

嗯,我不认为你可以在客户端使用 Socket 类,因为 Volt 使用 OpalRb在客户端上运行 Ruby,不幸的是,我认为 Opal 不能支持 Socket 类,因为这在浏览器中很难做到。但是,您可以在服务器端运行代码并将您想要的结果传递给客户端。您可以使用 Volt's tasks 来做到这一点.您可以像这样创建它们:

require 'socket'

class SocketTask < Volt::Task
def use_sockets
# do your thing with sockets here...
end
end

然后您可以在其他地方使用它们,例如,在这样的 Controller 中:

class Controller < Volt::ModelController
def some_action
SocketTask.use_sockets

# You can also use the #then method of the returned promise to get the result of the call.
# You can even use the #fail method on the promise to get any thrown errors.
# The following can also run code on the client.

SocketTask.use_sockets.then do |result|
alert result
end.fail do |error|
puts error
end
end
end

Rick Carlino 也有一个关于 Volt 任务的精彩截屏视频 here .

关于ruby - 在 Volt 框架中使用 ruby​​ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31409803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com