1 Temmuz 2009 Çarşamba

Ruby Routing

Routing modülü gelen istemleri hangi ‘Controller’ ve ‘Action’a yönlendireceğine karar veren konfigürasyon kütüğüdür yani gelen URL’i konfigürasyon kütüğünde set edilen yapıya göre decode eder. Aşağıdaki konfigürasyon, Rails projesi oluşturulurken otomatik olarak set edilmektedir.
Proje içindeki dizin yapsı /configuration/routes.rb şeklindedir. Örnek vererek açıklamak gerekise http://localhost:3000/stok/guncelle/1 URL’ni controller:stok action:guncelle id:1 olarak pars eder. Genelleme yaparsak default URL’i

olarak gosterebiliriz. Bunu istediğimiz gibi düzenleyebiliriz. map.connect ':action/:controller/:id' gibi düzenleyebiliriz. Yeni URL’imiz http://localhost:3000/guncelle/stok/1 olarak düzenlenir.
Route Tanımlama

Birinci tanımlamada ‘guncelle’ action’nını ‘stok’ controller’ın içinde arar.

İkinci tanımlamada ise action yazılmadığı için default olarak stok ‘controller’ın içinde index action’ı arar. URL’ide http://localhost:3000/stok/index olur.

Yeni Route tanımlarken ‘map.resources’ yapısını kullanırız. 'map.resources :stok' gibi.

Controller’a birden fazla Action’ı ilişkilendirken aşağıda verilen örnekte olduğu gibi tanımlamamızı yapabiliriz.


Controller ve Action’nın View Katmanındaki çağrımı da
link_to ‘Guncelle’, :controller => ‘stok’, action => ‘guncelle’ şeklindedir.

Hiç yorum yok: