使用扩展

扩展为 Sinatra 应用程序提供辅助方法或类方法。这些方法通常在扩展主页上列出和描述,其中许多列在下面。

使用扩展通常与安装 gem 或库以及需要文件一样简单。如果您遇到问题,请参考以下步骤。

  1. 安装 gem 或将库与您的项目一起提供:gem install sinatra-prawn

  2. 在您的应用程序中需要扩展:require 'sinatra/prawn'

  3. 如果您的应用程序是“经典”的(即,您require 'sinatra'并在主/顶层上下文中定义应用程序),那么您就完成了。扩展方法应该对您的应用程序可用。

  4. 如果您的应用程序是 Sinatra::Base 的子类,您必须在子类中注册扩展:register Sinatra::Prawn

辅助扩展

这些扩展向请求上下文添加辅助方法。

  1. sinatra-prawn 添加了对使用 Prawn 模板进行 PDF 渲染的支持。
  2. sinatra-markaby 允许使用 markaby 模板渲染 HTML 文件。
  3. sinatra-maruku 为 Sinatra 应用程序提供 Maruku 模板。
  4. sinatra-rdiscount 为 Sinatra 应用程序提供 RDiscount 模板。
  5. sinatra-effigy 为 Sinatra 应用程序提供 Effigy 模板和视图。
  6. sinatra-content-for 提供类似于 Rails 的 content_for 辅助方法。
  7. sinatra-url-for 在 Sinatra 应用程序中构建对操作的绝对路径和完整 URL。
  8. sinatra-static-assets 实现 image_tagstylesheet_link_tagjavascript_script_taglink_tag 辅助方法。这些辅助方法为分派到子 URI 的应用程序构建正确的绝对路径。
  9. sinatra-mapping 在 DSL 语法命令中实现 map,它动态创建 mapname_path 方法。
  10. sinatra_more 库,包含与平台无关的生成器、表单构建器、命名路由映射、简易邮件支持等功能。
  11. sinatra-authorization HTTP 认证助手
  12. sinatra-simple-navigation 使用 simple-navigation gem 创建导航。

DSL 扩展

这些扩展为 Sinatra 的应用程序 DSL 添加方法。

  1. snap 提供对命名路由的支持,以及用于构建链接和重定向的 URL 的辅助方法。

处理设置和配置的扩展

  1. sinatra-mongoid 设置 MongoDB 连接,将 Mongoid 提供给您的应用程序,并提供配置选项。

添加更多!查看 编写扩展 以了解更多关于创建您自己的扩展的信息。