«Rack-based» просто подразумевает, что гем использует некоторую часть стека Rack для реализации своей функциональности.Например, Devise engine использует промежуточное программное обеспечение Rack для подключения к Warden, а промежуточное программное обеспечение Rack Rails использует для аутентификации.Это делает его очень гибким, а также делает его так, чтобы конкретный кусок драгоценного камня, который использует Rack, мог легко (по крайней мере, теоретически) быть перенесен в другие приложения Rack.На основе не означает, что библиотека может использоваться с любым Rack приложением;например, Devise основан на Rack, но также реализует некоторые специфичные для Rails функциональные возможности (такие как пользовательские модели ).