我有这段代码:
require "cuba"
require "mote"
require "mote/render"
Cuba.plugin(Mote::Render)
Cuba.use Rack::Static,
# urls: %w[/index],
root: File.expand_path("./public", __dir__)
Cuba.define do
on(root) do
render("index", title: "Welcome")
end
end
我试图将公共文件夹中的文件服务器(与我正在运行的此文件位于同一目录中)命名为" index.html",但我和#39;我的网站上收到错误,说无法找到。
No such file or directory @ rb_sysopen - /root/views/index.html.mote
有任何帮助吗?提前谢谢!
答案 0 :(得分:2)
古巴尝试渲染模板,因此您可以将文件重命名为.mote,它应该渲染正常,或者使用类似的东西:
res.headers["Content-Type"] = "text/html; charset=utf-8"
res.write(IO.read('/path/to/your/file.html'))
Source非常清楚渲染函数的工作原理。
答案 1 :(得分:1)
您还可以设置自己的自定义路由,以便在不使用Rack :: Static
的情况下提供css / json 'css', extension('css') do
res['Content-Type'] = 'text/css'
res.write File.read(req.path)
end