“layout” ve sayfa düzeni üzerine
Ruby On Rails, normal Å?artlar altında sayfayı ekrana yansıtmak için ayrı bir klasörde (app/views/…) bulunan “.rhtml” uzantılı dosyaları kullanır (eruby altyapısını kullanır). Hangi dosya olduÄ?unu ise “denetleyici adı”/”sayfa ismi”.”rhtml” Å?eklinde bulur. (”Partial” dosyaların baÅ?ına “_” koyarak…)
Normal Å?artlardan kasıt eÄ?er fonksiyon sonunda sayfaya veri döndürülmemiÅ? ise (örn: render :partial, render :text gibi render komutları “sayfaya veri döndüren” komutlardır.) anlamına gelmektedir.
Normalde ekrana görünüm dosyasını yansıtırken eÄ?er “app/views/layouts” klasöründe “application.rhtml” dosyası mevcut ise yansıtılacak olan görünüm dosyası “application.rhtml” dosyasında < %= @content_for_layout %> yahut < %= yield %> bulunan yere yerleÅ?tirilir.
Ã?rneÄ?in yalnızca yönetim paneli için kullanılacak bir sayfa düzeni oluÅ?turmak isterseniz oluÅ?turacaÄ?ınız “.rhtml” dosyasını “app/views/layouts” dizinine koyduktan sonra, yönetim paneline ait denetleyicilere bunu bildirmeniz gerekecektir.
# app/views/layouts/yonetim.rhtml
#
<html>
....
<body>
< %= @content_for_layout %>
</body>
</html>
#
# Denetleyici Dosyamız
#
class Yonetim::TestController < ApplicationController
# Genel sayfa düzeni olarak 'yönetim'i kullan
layout 'yonetim'
.....
Yukarıdaki denetleyici tüm sayfalarında (sayfalardan kasıt; oluÅ?turulmuÅ? fonksiyonlardır) kendisini “yonetim.rhtml” dosyası içerisine gömecektir.
Fakat, yalnızca alanlık olan görünüm dosyaları bunun dıÅ?ındadır. (Alanlık görünüm dosyaları dosya isimlerinin baÅ?ına “_” alırlar ve render :partial ile sayfada herhangi bir yere yansıtılabilirler.)
“Partial” görünüm dosyaları sayfa düzeni ile beraber ekrana yansıtılmazlar.






