SuperAPI AI 工具集

sinatra-patterns

设计与创作

查看项目

更新于 10-15 21:51

技能介绍

用途:该技能面向使用 Ruby Sinatra 构建 Web 应用或设计路由的场景,汇总常见 Sinatra 模式、路由策略、错误处理与应用组织方式,可作为快速参考与实现模板。

主要能力:提供基础路由(get/post/put/delete)与参数写法,包括命名参数、参数约束(如 :id => /\d+/)、通配符和查询参数;介绍模块化应用(继承 Sinatra::Base 的控制器、config.ru 中 map 挂载)、命名空间、路由条件(agent、自定义 auth、host)以及基于 provides/respond_to 的内容协商;演示中间件使用与顺序、自定义中间件、各类模板引擎(ERB、Haml、Slim、Liquid)和内联模板;并给出错误处理(not_found、error 数字、特定异常处理)、before/after 过滤器、Cookie 会话、缓存(HTTP 缓存与 Redis 片段缓存)、流式响应与 SSE、Rack::Attack 限流,以及推荐项目目录结构。

使用方式:资料以代码示例形式给出,可将对应片段复制到 Sinatra 应用或 config.ru 中使用,例如 use Rack::Session::Cookie, secret: ENV['SESSION_SECRET']、use Rack::Protection、json_response helper 等;模块化示例使用 config.ru 的 map 挂载控制器,命名空间需 require 'sinatra/namespace' 并 register Sinatra::Namespace。

适用场景:构建 Sinatra 应用、设计 REST 路由、组织模块化项目、配置生产中间件与错误响应、添加会话与缓存、实现流式接口等。

限制:资料为模式参考,未说明所依赖的 Sinatra 版本、Ruby 版本、具体 gem 版本,也未提供官方来源或授权信息;部分路径如 assets/modular-app-template/、references/testing-examples.rb 仅被引用,未在文本中展开;性能、安全效果与实际行为需自行在具体环境中验证。