对于Rails,为什么Gem Devise是基于机架的呢?

nop*_*ole 3 rack ruby-on-rails devise ruby-on-rails-3

据我所知,Rack只是位于Rails和Webserver(如Mongrel或Webrick)之间,充当"适配器",因此Web服务器的选择并不重要.

那么为什么Devise被称为基于Rack并且它很好?如果Rack是透明的,那么认证系统是基于机架还是非基于机架并不重要?(或者它与Rack有什么关系?)

dte*_*eoh 10

它只是意味着gem不依赖于Rack接口的特定实现(例如Rails),只是它符合它.这很好,因为您可以将gem与其他基于Rack的框架(如Sinatra)一起使用.