Rails 引擎开发:从理论到实践
1. 引擎基础与路由
1.1 测试应用与引擎挂载
在开发引擎时,有一个用于测试的应用目录 test/dummy ,其中的应用纯粹是为了测试目的。你可以通过创建控制器、辅助器、模型、视图和路由,将其设置得像一个真实的应用。当运行测试时,这个应用会像真正的 Rails 应用一样被初始化。
要将引擎挂载到应用中,可以在 config/routes.rb 中添加如下代码:
mount Forem::Engine, :at => "/forem"
这行代码将引擎的路由挂载到应用的 /forem 路径下。这意味着,当你想要访问这个引擎时,必须在路由前加上 /forem 。在代码中,你可以使用 forem. 前缀来调用路由辅助方法,例如在测试应用中使用 forem.forums_path 或 forem.root_path 。
1.2 引擎路由原理
要理解引擎的路由机制,需要先了解 Rails 应用中中间件的概念。中间件是位于接收服务器和应用之间的代码,它可以完成很多任务,如提供静态资源和设置闪存消息。Rails 3 应用运行在 Rack 上,Rack 使用基于栈的架构来处理请求。
下面是一个简单的中间件栈流程图:
超级会员免费看
订阅专栏 解锁全文
2424

被折叠的 条评论
为什么被折叠?



