gpt4 book ai didi

ruby - 你能在 Sinatra 应用程序中使用 Slim 流式传输 HTML 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:36 26 4
gpt4 key购买 nike

我有一个包装命令行应用程序的 Sinatra 应用程序。它没有可能的用户,所以性能不是问题。

我正在使用 Sinatra 的流式 api 来允许我在命令运行时流式传输 HTML。这意味着用户可以在命令运行时看到进度。

post "/reorder" do
@project = params["project"]
@id_or_range = params["id_or_range"]
@output_log = "[OUTPUT]"

before, after = slim(:index).split(@output_log)

stream do |out|
out << before
run(@project, @id_or_range, StreamOutput.new(out))
out << after
end
end

https://gist.github.com/NigelThorne/04775270abd46b78e262

目前我正在做一个 hack,我渲染模板(好像我有所有数据),然后拆分模板文本应该插入数据的地方。然后我渲染出模板的开头,然后渲染我收到的数据(在流上),然后是模板的结尾。

Slim 应该支持流媒体...

我想写。

post "/reorder" do
...
stream do |out|
out << slim(:index)
end
end

或更好

post "/reorder" do
...
slim(:index, stream: true)
end

如何在渲染时让 slim 屈服于数据流,从而一次性流出模板?

最佳答案

是的,如果您覆盖 Sinatra 中的 slim 助手,您就可以。见:

关于ruby - 你能在 Sinatra 应用程序中使用 Slim 流式传输 HTML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25677286/

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