You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sinatra是否支持/views目录下的子目录模板?路由配置遇ISE错误

Sinatra子目录模板使用问题解答

当然可以!Sinatra完全支持在/views目录中使用子目录来组织模板文件,你遇到的内部服务器错误(ISE)是因为调用模板的路径写法不正确导致的。

为什么你会报错?

当你执行erb :alphaco时,Sinatra会默认在根/views目录下寻找名为alphaco.erb的文件,但你的这个文件实际存放在/views/companies/子目录里,框架找不到对应的模板文件,自然就触发了错误。

正确的调用方式

你只需要在调用erb时指定完整的子目录路径即可,两种写法都能正常工作:

  • 用单引号包裹路径:erb :'companies/alphaco'
  • 用双引号包裹路径:erb :"companies/alphaco"

这样Sinatra就能精准定位到/views/companies/alphaco.erb这个模板文件了。

额外小提示

如果你的子目录层级更深(比如/views/companies/us/newyork.erb),同样可以用这种层级路径的方式调用:erb :'companies/us/newyork'。另外,你根目录下的layout.erb依然会自动作用于子目录里的模板,不需要额外配置布局路径。

内容的提问来源于stack exchange,提问作者Rich_F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:14:40