使用扩展
扩展为 Sinatra 应用程序提供辅助方法或类方法。这些方法通常在扩展主页上列出和描述,其中许多列在下面。
使用扩展通常与安装 gem 或库以及需要文件一样简单。如果您遇到问题,请参考以下步骤。
-
安装 gem 或将库与您的项目一起提供:
gem install sinatra-prawn
-
在您的应用程序中需要扩展:
require 'sinatra/prawn'
-
如果您的应用程序是“经典”的(即,您
require 'sinatra'
并在主/顶层上下文中定义应用程序),那么您就完成了。扩展方法应该对您的应用程序可用。 -
如果您的应用程序是
Sinatra::Base
的子类,您必须在子类中注册扩展:register Sinatra::Prawn
辅助扩展
这些扩展向请求上下文添加辅助方法。
- sinatra-prawn 添加了对使用 Prawn 模板进行 PDF 渲染的支持。
- sinatra-markaby 允许使用 markaby 模板渲染 HTML 文件。
- sinatra-maruku 为 Sinatra 应用程序提供 Maruku 模板。
- sinatra-rdiscount 为 Sinatra 应用程序提供 RDiscount 模板。
- sinatra-effigy 为 Sinatra 应用程序提供 Effigy 模板和视图。
- sinatra-content-for 提供类似于 Rails 的
content_for
辅助方法。 - sinatra-url-for 在 Sinatra 应用程序中构建对操作的绝对路径和完整 URL。
- sinatra-static-assets 实现
image_tag
、stylesheet_link_tag
、javascript_script_tag
和link_tag
辅助方法。这些辅助方法为分派到子 URI 的应用程序构建正确的绝对路径。 - sinatra-mapping 在 DSL 语法命令中实现
map
,它动态创建mapname_path
方法。 - sinatra_more 库,包含与平台无关的生成器、表单构建器、命名路由映射、简易邮件支持等功能。
- sinatra-authorization HTTP 认证助手
- sinatra-simple-navigation 使用 simple-navigation gem 创建导航。
DSL 扩展
这些扩展为 Sinatra 的应用程序 DSL 添加方法。
- snap 提供对命名路由的支持,以及用于构建链接和重定向的 URL 的辅助方法。
处理设置和配置的扩展
- sinatra-mongoid 设置 MongoDB 连接,将 Mongoid 提供给您的应用程序,并提供配置选项。
添加更多!查看 编写扩展 以了解更多关于创建您自己的扩展的信息。