bölüp, farklı şablon ve görünümlerde göstermenizi sağlar • layout ismi controller' ile aynı ise otomatik seçilir ◦ views/layouts/admins/application.html.haml ◦ views/layouts/admins.html.haml • layout' ları controller' lardan kendiniz de seçebilirsiniz ◦ layout "main" ◦ layout :blog, :only => [:index, :blog] • layout' ları render yöntemi ile seçebilirsiniz ◦ render :layout => "old"
Controller action' lardan view katmanına geçişi sağlar. Bir şablon, bir html yada hiç bir şeyi render' leyebilirsiniz. JSON, XML çıktıları üretebilir ve durum kodlarını belirleyebilirsiniz. http://guides.rubyonrails.org/layouts_and_rendering.html#using-render
dosyalarınızı daha yönetilebilir küçük parçacıklara ayırmanızı sağlar. İstediğiniz parçacıgı istediğiniz yerde ve zamanda kullana bilirsiniz ! http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials
? • Varlıklarınızı (assets) dinamik olarak işler ve yönetir ◦ Tüm varlıkları birleştirir ve organize eder ◦ MD5 parmak izi ile önbellek yönetimi yapar ◦ Boşlukları alır, yorum satırlarını siler ve sıkıştırır ◦ Ön-derleyicileri destekler: js için CoffeeScript, css için scss ve sass. Varsayılan olarak ERB içerir. • Sprockets (disliler) ve varlıkların organize edilmesi ◦ app/assets: uygulamanızdaki varlıklar ◦ lib/assets: tekrar kullanılabilir kütüphaneleriniz ◦ vendor/assets: 3.parti varlıklar, örn: jQuery
Asset pipeline (varlık boru hattı) JavaScript ve CSS varlıklarını birleştirmeyi ve sıkıştırmayı sağlar. Ayrıca ön derleyici diller olan CoffeeScript, Sass' ı destekler. Varlıklarınıza ERB yazma yeteneği kazandırır.
ve daha az kod yazmanızı sağlayan bir teknolojidir. HAML ile HTML'deki tag'ları açıp kapatmanız gerekmez. Yeni satıra atlayarak veya bir tab içeri-dışarı giderek HTML sayfanızı şekillendirirsiniz. • 2006 dan buyana geliştiriliyor • Ruby on Rails ile çalışıyor (Gem) • Ruby dışındaki diller için de port'ları mevcut • Indent (Girinti) odaklı • Üretebileceği çıktı özelleştirilebilir (Sıkşıtırılmış)
benzer bir yaklaşımla CSS ve CSS3 stil kodları yazmanızı ve bunları dinamik olarak derlemenizi sağlayan bir ruby gem’ idir. Adresi ise http://sass-lang.com/ ’dır. Genel hatlarıyla özetlemek gerekirse; CSS’ de bulunmayan değişken (variables) tanımlama, iç içe (nesting) olarak hazırlanmış seçiciler oluşturmak, css kodlarınızı yeniden kullanılabilir ve parametrik olarak çalışabilen parçalara bölmek (mixin), bir css tanımlamasının başka bir css tanımlamasından miras almasını sağlayan seçici kalıtımı (selector inheritance) yapmak gibi işlevleri sayılabilir.
(??) • Partials (Kısım, parça) • Operator ve fonksiyonlar (colorize, darken) • Kullanıcı tanımlı fonksiyonlar • Scss veya sass Daha ne istiyoruz ki :) Alternatif • LESS - http://lesscss.org/
yeni özellik barındıran bir çeşit sass temelli CSS – CSS3 uygulama çatısıdır diyebiliriz. http://compass-style.org/ adresinden erişebilirsiniz. Compass sayesinde Sass’ı daha kapsamlı bir şekilde kullanabiliyorsunuz. Ayrıca compass bünyesinde Blueprint Css Framework‘u de barındırdığından sadece basit css dosyalarının derlemesinden öte uygulamanızın tamamına hükmetmenize olanak sağlıyor. Bunların yanında, compass kullanırsanız web projenizi stil katmanı daha da yönetilebilir ve sürdürülebilir olacak, CSS3 işlevselliklerinden faydalanmanız daha da kolaylaşacaktır.
";", süslü parantez "{}" gibi operatörlerden kurtarır ve tablar kullanarak daha hızlı bir şekilde, hatasız javascript kodları üretmenizi sağlar. CoffeeScript bi js ön-derleyicisidir. • Bir Javascript kütüphanesi değildir • Birçok javascript kütüphanesi ile kullanabilirsiniz • Kodunuzu JSLint (The JavaScript Code Quality Tool) servisi ile uyumlu bir şekild derler • Rails 3.1 ile birlikte varsayılan olarak kullanılmaya başlanmıştır.