Rails de bir web projesi oluşturmaya başlamadan önce Rails , Rails de kullanılan MVC mimarisi ve Rails bileşenlerini inceleyelim. Daha sonra;
UYARI : Çalışmalar Rails 3.2 nin versiyonları ile olacaktır. 3.2 altındaki versiyonlarda bu kodlar ile çalışmak isterseniz hatalar ile karşılaşabilirsiniz.
Versiyonlarınızı öğrenmek için terminalde;
$ rails -v
Rails 3.2.8
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
komutlarından yararlanabilirsiniz.
Rails Ruby dili ile yazılmış, daha az kodla ve daha fazla zevkle yazmamızı sağlayan,açık kaynak bir web uygulaması frameworktür.
Rails felsefesi birkaç temel üzerine oturmuştur:
Rails Models, Views ve Controllers mimarisinden oluşmaktadır.
MVC mimarisi bize;
1.Models
2.Views
3.Controllers
Rails kurulduğunda kendine özgü birçok gem ile birlikte gelmektedir.
1.Action Pack
Action Pack Action Controller, Action View ve Action Dispatch içeren tek bir gemdir. “MVC” nin “VC” bölümü oluşturmaktadır.
1.1.Action Controller
Action Controller Rails uygulamasından gelen istekleri amaçlarına göre seçip çıkartarak uygun yerlere dağıtarak işler. Oturum yönetimi, şablon oluşturma ve yönlendirmeler Action Controller tarafından sağlanmaktadır.
1.2.Action Dispatch
Action Dispatch, gelen web isteklerinin ,sizin uygulamanıza veya diğer bir Rack uygulamasına dağıtımını sağlar.
1.3.Action View
Action View, Rails uygulamasında görselliği yönetmektedir. Standart olarak HTML ve XML olarak çıktı üretilmesine olanak sağlar.
2.Action Mailer
Action Mailer, E-posta sevislerini ayarlamak için kullanılan bir frameworktür.
3.Active Model
Active Model, Action Pack gem servisleri ve Active Record gibi Nesne İlişkili Haritalama gemleri arasında tanımlanan bir arayüz sağlar.
4.Active Record
Active Record veritabanı bağımsızlığı, temel CRUD işlevlerini ve bir başka modelle ilişki kurma yeteneğini sağlar.
5.Active Resource
Active Reource, iş nesneleri ve RESTful web servisleri arasındaki bağlantıyı yönetmek için sunulan bir frameworktür.
6.Active Support
Active Support, Rails uygulamaları için yazılmış, birçok Ruby kütüphanesine sahip geniş bir kolleksiyondur.
7.Railties
Railties yeni bir web uygulaması için Rails kodlarını inşa etmektedir.
Rest, RESTfull mimarisinin temelidir. Roy Fielding’in ağ temelli yazılım mimarileri ve stillerini belirten doktora tezinden esinlenmiştir. Bu tezle Rails uygulamasına şu ana özellikler kazandırılmıştır :
Örneğin;
DELETE /photos/17
gibi 17 id sine sahip bir dosyanın silinmesi istenirse Rails bunu yöneterek sizi karmaşık işlerden ve web tarayıcısında karşılacağınız süprizlerden kurtarır.
Devamı Yeni Bir Rails Projesi Oluşturma sayfasındadır.
Yararlanılan Kaynak ve Detaylı Bilgi: