Action Pack web isteklerini işleyen ve yanıtlayan bir frameworktür.
Yönlendirme mekanizmasını sağlar, controller’lardaki action’ları uygular, viewleri oluşturur, kısaca Action Pack MVC(Model-View-Controller) yapısındaki view ve controller katmanlarını sunar. Birkaç modülden oluşur.
ActionController: rails uygulamalarında controller’ları yöneten yapıdır. Gelen istekleri işler, parametreleri çeker ve istenilen controller’lardaki action’lara gönderir. Session management, template rendering, ve redirect management’tan sorumludur.
ActionView: viewleri yöneten bileşendir. Html, xml, ajax desteği sağlar. Parça halindeki şablonları(layout..vb.) birleştirir.
ActionDispatch:Uygulamada gelen web isteklerini(request) çözümleyen ve dağıtan, yönlendiren bileşendir. Session, cache ve cookie’leri taşır.
ActionPack için bir requestin yaşam döngüsü
- Rails tarayıcı aracılığı ile gelen isteği(request) alır.
- Routing isteğin hangi controller’ın hangi action’ına gideceğini seçer.
- Controller nesnesi ve ilgili action methodu çağrılır.
- Controller model ile etkileşimli çalışır. ( Genellikle CRUD işlemleri gerçekleştirilir. )
- Yanıt(Response) yönlendirme veya render şeklinde tarayıcıya geri gönderilir.