ruby on rails çalışmaları part1 - ntgcyslyrt/wiki GitHub Wiki

Rails de bir web projesi oluşturmaya başlamadan önce Rails , Rails de kullanılan MVC mimarisi ve Rails bileşenlerini inceleyelim. Daha sonra;

  • Rails kurulumu,
  • Yeni bir Rails projesi oluşturma,
  • Veritabanımızı uygulamamıza bağlama,
  • Rails uygulamasının tasarımı,
  • MVC (Model View Controller) ve RESTful tasarımının temel ilkeleri,
  • Hızlı bir şekilde Rails uygulamasının başlangıç ilkelerini oluşturma hakkında bilgi sahibi olacağız.

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 Nedir ?

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:

  • DRY(Don’t Repeat Yourself) - "Kendinizi tekrar etmeyin" - Tekrar tekrar aynı kodu yazmanın uygulamamız açısından kötü bir şey olduğunu savunmaktadır.
  • Convention Over Configuration, yapılandırma kurallarını koyar. Ne yapmak istediğimiz ve nasıl bir yol izleyeceğimize dair varsayımlarda bulunarak küçük ayrıntıları sayısız defa ayarlamamızı engeller.
  • REST(REpresentational State Transfer), web uygulamaları için en iyi modeldir. Uygulamamızın kaynak ve standart HTTP işlerini organize etmek için kullanılabilecek en hızlı yoldur.

MVC Mimarisi Nedir?

Rails Models, Views ve Controllers mimarisinden oluşmaktadır.

MVC mimarisi bize;

Kullanıcı arabirimi ile iş yapan lojiği birbirinden ayırma. DRY prensiplerine bağlı kalmayı kolaylaştırma. Kodlamaların berraklığı sayesinde bakım ve modifikasyon kolaylaştırma gibi imkanlar sağlamaktadır.

1.Models

  • Bir model, kurallara uygun olarak uygulama ve verileri arasındaki işlemleri sağlar.
  • Uygulamanıza bağlı veritabanı ile iletişimin kurallarını yönetir.
  • Veri tabanınızdaki her tabloya karşı uygulamanızda bir model oluşturur.

2.Views

  • Views uygulamanızdaki kullanıcı arayüzünü temsil etmektedir.
  • Görevleri veriyi sunmak olan gömülü ruby kodlarıyla birleştirilmiş HTML dosyalarıdır.
  • Web tarayıcısında verileri kullanıcıya iletmeye veya uygulamadaki isteklerin iletilmesini sağlamakla görevlidir.

3.Controllers

  • Controllers, web tarayıcısından gelen istekleri işleme, veri modellerini sorgulama ve sunum için verileri görsellere aktarmakla sorumludur.

Rails Bileşenleri Nelerdir?

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.