创建一个适用于基于机架的框架的gem,而不仅仅是rails

时间:2011-04-01 21:27:54

标签: ruby gem rack

典型的rails gem和基于rack的框架gem之间有什么区别?

只是大多数逻辑都在lib文件夹中,并且不使用rails路由等,而不是使用机架框架?

1 个答案:

答案 0 :(得分:1)

“基于机架”只是意味着gem使用Rack堆栈的某些部分来实现其功能。例如,Devise engine使用Rack中间件插入Warden,Rack中间件Rails用于验证。这使得它非常灵活,并且使得使用Rack的宝石的特定部分可以很容易地(至少在理论上)移植到其他Rack应用程序。

请注意,基于Rack- 并不意味着该库可以与任何 Rack应用程序一起使用;例如,Devise是基于Rack的,但也实现了一些特定于Rails的功能(例如custom models)。