Translations of this page?:

Adım Adım İlk Rails Uygulaması

Rails ile geliştirme yapmanın tadını almak ister misiniz? Başlamak için bu öğreticiyi izleyin!

Bölüm 1 - Kurulum

Ruby ve Rails'i platformunuza uygun şekilde kurun ve SQLite'ın kurun (Mac bilgisayarınız varsa bu zaten Mac ile birlikte gelir). Kurulum wiki sayfaları şurada bulunabilir: Mac, Windows, Linux.

Bölüm 2 - Oluşturma ve Çalıştırma

  1. Rails komut satırı aracını kullanarak uygulamanızı oluşturun.
    $ rails myapp

    Bu, Rails uygulamanızın iskeletini oluşturur.

  2. Klasörünüze girin:
    $ cd myapp
  3. Rails sunucunuzu başlatın:
    $ ruby script/server

    Not: Mac veya Linux kullanıyorsanız başta “ruby” yazmanız gerekmiyor olabilir.

  4. Bir tarayıcı açın ve http://localhost:3000 adresine gidin. Rails uygulamasının çalıştığını göreceksiniz, işte bu kadar! Kendi sırtınızı sıvazlayın, bunu hak ettiniz.

Bölüm 3 - Veritabanı ve Scaffold Oluşturma

  1. Tercih ettiğiniz düzenleyicide uygulamayı açın.
  2. config/database.yml dosyasını açın. Bu dosya, genellikle uygulamanız için farklı veritabanlarını ayarladığınız yerdir, ancak bu örnek için hiçbir şeye dokunmanıza gerek yoktur. Belki fark etmişsinizdir, varsayılan veritabanı adları Rails uygulamanızın adından alınır.
  3. Başka bir komut istemi açın (böylece sunucu arka planda çalışmaya devam edebilir) ve uygulama dizininizde şu komutu çalıştırın:
    $ rake db:create

    Bu sizin development (geliştirme) veritabanınızı oluşturacaktır.

  4. Şimdi ilk tablomuzu ve arabirimimizi üretmek istiyoruz. Rails'de bunu scaffold (iskele) ile yaparız. Bir scaffold kısaca başlangıç noktasıdır ve oradan itibaren gittikçe büyüyen kodlar ekleyebiliriz. İlk önce scaffold komutunu parametre olmadan çalıştıralım:
    $ ruby script/generate scaffold

    Çıktıya bir göz atın. Komutun nasıl kullanılacağını anlatır.

  5. Şimdi devam edelim ve scaffold'u ilk web uygulamamızı oluşturmaya başlamak için kullanalım. Bir “user” (kullanıcı) tablosu oluşturacağız:
    $ ruby script/generate scaffold user first_name:string last_name:string active:boolean

    Bu kodu kopyalayıp yapıştırmanızda sorun yok, bunu kimseye söylemem. Yalnızca bir demet şablon dosyasından ibaret olan scaffold'unuz artık oluşturuldu.

  6. Bizim için oluşturduğu migration'ı (geçiş) çalıştıralım (veritabanı tablosunu oluşturmak için).
    $ rake db:migrate
  7. Şimdi tarayıcınıza geri dönün (sunucunuzu kapattıysanız onu yeniden başlatın) ve http://localhost:3000/users adresine gidin.
  8. Birkaç kullanıcı ekleyin ve Rails arabiriminizi kurcalayın!

Bölüm 4 - İşlevsellik Ekleme

  1. Kullanıcılar için biyografi alanı eklemeyi unuttuğumuzu yeni fark ettik - haydaa! Ya bu sütunu eklemek için yeni bir migration oluşturabiliriz ya da bizim için oluşturulan migration'ı geri alabiliriz. Hadi ikincisini yapalım. Bir sütun ekleyebilmek için tabloyu kaldırmak üzere, şu komutu çalıştırın:
    $ rake db:rollback

    Bu, son migration'ı geri alır.

  2. Şimdi /db/migrations/ veya /db/migrate/ klasöründe bulunan migration'ı açın. Şimdilik sadece bir tek dosya olması lazım.
  3. Dikkat ederseniz migration'ın işini yapan up ve yaptıklarını geri alan down adında iki metodu var.
  4. bio alanını eklemek istiyoruz, bu nedenle t.boolean :active satırından sonra şunu ekleyin:
    t.text :bio
  5. Dosyayı kaydedin ve tekrar migration yapın:
    $ rake db:migrate
  6. Bu aşamada tarayıcınızı kontrol ederseniz, biyografi alanının kullanıcılarımızın bilgilerinde veya formlarda otomatik olarak görünmediğini fark edeceksiniz. Bunları elle eklememiz gerekecek. Evet, her şeyi silip scaffold komutunu tekrar çalıştırarak da bu alanı elde edebilirdik ama o zaman hiç birşey öğrenemezdiniz.
  7. Şimdi /app/views/users/new.html.erb dosyasını açalım. Bu, yeni kullanıcı ekleme formumuzu oluşturan dosyadır. Aşağıdaki kodu kullanarak active onay kutusunun altına bir biyografi alanı eklememiz gerekir.
    <p>
      <%= f.label :bio %><br />
      <%= f.text_area :bio %>
    </p>
  8. Şimdi tarayıcınızda http://localhost:3000/users/new adresindeki yeni kullanıcı ekleme sayfasını açın. Biyografi alanını görecek ve biyografiye sahip yeni kullanıcılar ekleyebileceksiniz. Bir kullanıcının biyografisini düzenleyebilmek için edit view'ını (görünüm) (/app/views/users/edit.html.erb dosyası) güncellemek isterseniz, aynı kodu kullanabilirsiniz.
  9. Yeni bir kullanıcı oluşturduğunuzda, otomatik olarak onun görüntülenme (show) sayfasına gidilir. Şimdi biyografiyi görüntülenme sayfasına ekleyelim. Bunun için /app/views/users/show.html.erb dosyasını açın ve Active alanının altına şunu ekleyin:
    <p>
      <b>Bio:</b>
      <%=h @user.bio %>
    </p>
  10. Dosyayı kaydedin ve sonucu tarayıcıda kontrol edin. İlk başta değişikliğinizi görmezseniz, show sayfasında olduğunuzdan (ve index sayfasında olmadığınızdan) emin olun. Tüm bunlar başarılı olduğunda kocaman bir nara atın, çok büyük bir iş başardınız.

Bölüm 5 - İlk Doğrulamanız

  1. Rails'de doğrulamaları modellerin içine koyarız, bu nedenle /app/models/user.rb dosyasını açalım.
  2. Kullanıcının adının ve soyadının girilmesini zorunlu yapmak istiyoruz. Bunun için User modeline bir doğrulama ekleyelim:
    class User < ActiveRecord::Base
      validates_presence_of :first_name, :last_name
    end
  3. Dosyayı kaydedin, tarayıcınıza gidin ve adı ya da soyadı olmadan bir kullanıcı oluşturmaya çalışın.
  4. Rails'de birçok yardımcı doğrulama sınıfı vardır, bu API sayfasının sağ tarafında bunların bir listesini görebilirsiniz.

Yalnızca eğlencesine başka bir doğrulama ekleyin.

Bölüm 6 - Görsel Yerleşimi Değiştirme

  1. Uygulamanızın tarayıcı HTML kaynağını incelediyseniz, uygulamanın bir tür yerleşimde olduğunu fark etmiş olabilirsiniz. Varsayılan olarak, scaffold komutunu çalıştırdığınızda /app/views/layouts/users.html.erb dosyası oluşturulur ve yerleşiminiz olarak kullanılır.
  2. Büyük ihtimalle çoğu controller'ınız (denetleyici) için tek bir yerleşim kullanmak isteyeceksiniz, bu yüzden buna daha genel bir ad verelim. users.html.erb dosyasını application.html.erb olarak yeniden adlandırın. Bir Rails kuralı olarak, artık layouts dizininizde bir application.html.erb dosyanız olduğu için, tüm controller'lar varsayılan olarak bunu kullanacaktır (isterseniz bunu daha sonra geçersiz kılabilirsiniz).
  3. Şimdi eğlencesine yerleşimimize bir şeyler ekleyelim. application.html.erb dosyasını açın ve şuna benzer bir şeyler ekleyin:
    <h2>Rails Rocks!</h2>
  4. Dosyayı kaydedin, tarayıcınıza gidin; yaptığınız değişikliğin web sitesinin TÜM sayfalarına yansıtıldığını göreceksiniz.

Bölüm 7 - Konsolla Oynama

  1. Şimdi User modelimizle oynayarak biraz eğlenelim. Komut satırınızda şunu yazın:
    $ ruby script/console

    Artık modellerinize erişimi olan bir Ruby IRB oturumundasınız.

  2. Oynamaya başlamadan önce, bizim için hangi SQL komutlarının oluşturulduğunu görebilmek için şu komutu çalıştırın:
    $ ActiveRecord::Base.logger = Logger.new(STDOUT)
  3. Her şeyin çalıştığından emin olmak için basit bir Ruby komutunu deneyelim:
    puts "Hello Dude!"
  4. Şimdi modelimizle biraz eğlenmeye çalışalım. Şuna benzer bir şeyler yaparak yeni bir model oluşturun:
    u = User.new
    u.first_name = "Gregg"
    u.last_name = "Pollack"
    u.save

    Oluşturulan SQL komutuna dikkat edin.

  5. Şimdi hepsini tek satırda yapmayı deneyin:
    User.create(:first_name => "Joe", :last_name => "Blow")

    Bir hata alırsanız, yazımı kontrol edin.

  6. Şimdi adı Joe olan kullanıcıyı bulup soyadını “Johnson” olarak değiştirelim.
    u = User.find_by_first_name("Joe")
    u.last_name = "Johnson"
    u.save

    Oluşturulan SQL komutuna dikkat edin; harika!

  7. Şimdi de kullanıcıyı silelim.
    u.destroy
  8. Biraz daha eğlence için şu komutların neler yaptığına bakın:
    User.first
    User.last
    User.all

    Bu değerleri değişkenlere atayın ve özellikleriyle oynayın. .all metodunun bir dizi (array) geri döndürdüğüne dikkat edin, bu nedenle dizideki belirli bir öğeye erişmek için [0] veya [2] gibi dizin kullanmak isteyebilirsiniz.

  9. Sisteminizdeki tüm kullanıcıları büyük harfle yazdıralım:
    User.all.each {|user| puts user.first_name.upcase }
  10. Adları yazdırdığına ve ardından User dizisini de döndürdüğüne dikkat edin. Unutmayın, Ruby'de her metod nil de olsa mutlaka bir şey döner.
  11. Şimdi sistemimizdeki tüm soyadlarının bir dizisini oluşturalım:
    User.all.map {|user| user.last_name }

    Burada ilgilendiğimiz şey geri döndürülen değer, yani soyadlarından oluşan dizidir.

  12. Buradaki API sayfasına bir göz atın. Sağ tarafta ActiveRecord nesnelerinde çalıştırabileceğiniz tüm metodları görebilirsiniz. Birkaçını deneyin.

Ek Okuma

Rails'e Başlarken Rehberi başka eğlenceli, ancak Rails mimarisinin ek açıklamasını içeren bir belge içermektedir.

 
tr/getting-started/first-rails-app-walkthrough.txt · Son değiştirilme: 2009/10/22 22:46 Değiştiren: tiendan
 
Recent changes RSS feed Creative Commons License