gpt4 book ai didi

ruby - 如何检查 Sinatra 中是否存在模板

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

在 Sinatra ruby​​ 框架中,我有一个这样的路由:

get '/portfolio/:item' do
haml params[:item].to_sym
end

如果模板存在(例如,如果我点击 /portfolio/website,并且我有一个名为 /views/website.haml 的模板),这会很好用,但是如果我尝试一个没有模板的 URL,比如 example.com/portfolio/notemplate,我会得到这个错误:

Errno::ENOENT at /portfolio/notemplate
No such file or directory - /.../views/notemplate.haml

如何测试和捕获模板是否存在?我在 Sinatra 文档中找不到“如果模板存在”方法。

最佳答案

不确定是否有特定于 Sinatra 的方法来执行此操作,但您始终可以捕获 Errno::ENOENT 异常,如下所示:

get '/portfolio/:item' do
begin
haml params[:item].to_sym
rescue Errno::ENOENT
haml :default
end
end

关于ruby - 如何检查 Sinatra 中是否存在模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1600473/

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