Ruby on Rails ile Merhaba Dünya!
25 Nisan 2007, ÇarÅŸamba 1 am | Yazan : webdr | 47 okunma | | 47 okunmaRuby on Rails (RoR) ile ilgili ayrıntılı bilgilere geçmeden (veritabanınıda dahil edeceÄŸimiz iÅŸlemler) , ısınma turu maksatlı tarayıcımıza Merhaba Dünya yazdıralım istiyorum. Ancak bu anlatımın kendine has olması için deÄŸiÅŸik bir yöntemde izleyeceÄŸim. Şöyleki ; yeni baÅŸlayacağınızı düşünerek Türkçe’sinin dahi ne anlama geldiÄŸini bilemeyeceÄŸiniz kelimelerin ingilizcelerini parentez içine alarak kullanacağım (belki bu konuda ilerlemiÅŸ kimselere yazıyı okumak biraz sıkıcı gelebilir ancak yeni baÅŸlayan arkadaÅŸları soÄŸutmamak daha önemli diye düşünüyorum) ve anlatıma geçmeden önce konunun mantığını anlamanız için bazı bilgiler vereceÄŸim.
RoR’i anlayabilmemiz için bilmemiz gereken bazı temel noktalar bulunmaktadır.
-
Controller (Denetleyici), application (uygulama) ‘yı kontrol eder, denetler.
Application (uygulama), Actions (İşlemler) in biraraya gelmesinden oluşur ve içerisindeki Action (İşlem ya da işlemler) ler, birbirinden bağımsız çalışırlar.
View (Görünüm ya da görünümler)
Action (İşlem ya da işlemler) den verileri alır ve bu veriyi tarayıcıya yansıtmakta kullanılan bir aracıdır.
Şimdi buraya kadar özetlersek RoR temelinde 4 terim ve bunların ne işe yaradığınını birbirleri ile aralarında ne gibi bir ilişki var gördük. İsterseniz bunları işlem sıralarına göre listeyelelim.
- Controller (Denetleyici)
- Application (Uygulama)
- Action (İşlem)
- View (Görünüm)
Birazdan bu terimleri kullanarak Merhaba Dünya! yazısını tarayıcımıza RoR aracılığı ile yazdıracağız, ancak öncelikle bunun için neler gerekli
neler kullancağız ona bakalım.
Deneme klasörü merhaba uygulaması (application) merhaba uygulaması için kontrol adında denetleyici (controller) merhaba işlemi (action) merhaba görünümü (view)
1-)Öncelikle bu yemeği pişirmek için bir mutfağa ihtiyacımız var bu mutfak RoR için daha önceki anlatımlarda bahsettiğimiz deneme klasörü olacak. Bu nedenle öncelikle istediğimiz bir yerde bir deneme klasörü oluşturalım. Komut satırını açalım (başlat -> donatılar -> Komut Satırı ) ve cd komutuyla istediğimiz bir dizine gelelim (cd D:\Ruby\) . Evet komut satırı ile bu dizinde iken bir deneme klasörü oluşturmak için aşağıdaki komutları kullanalım.
Windows için -> md deneme
Linux için -> mkdir deneme
2-) Komut satırı ile oluÅŸturduÄŸumuz klasörlere gidelim. Windows için ->; cd deneme Linux için ->; cd deneme Åžimdi bu klasörlerde iken, tarifimizin ikinci maddesini temin edeceÄŸiz, merhaba uygulaması. Bunun için komut satırına rails merhaba yazdığımızda merhaba uygulamasını oluÅŸturacağız. Bu aÅŸamada komut satırından pekçok klasör (merhaba klasörü baÅŸta olmak üzere) ve dosyanın oluÅŸtuÄŸunu göreceksiniz, kısaca yeni oluÅŸan bu yapıya Ruby’nin çalışacağı Framework diyebiliriz. Burdaki dosyalar ve görevlerine çok sonra deÄŸineceÄŸiz, ÅŸimdi bunlarla sizin kafanızı karıştırmak istemiyorum.
3-) Evet 3. malzememiz ise merhaba uygulaması (appplication) için bir denetleyici (controller), bunun için öncelikle cd merhaba komutu ile merhaba klasörüne gidelim, daha sonra bu klasörde denetleyiciyi (controller) oluşturmak için komut satırına, ruby script/generate controller kontrol yazalım, burda ise merhaba uygulamasını kontrol etmesi, denetlemesi için kontrol adında bir denetleyici oluşturduk. merhaba\app\controllers dizini altına gittiğinizde içinde class KontrolController < ApplicationController end yazan kontrol_controller.rb adında bir ruby dosyasının oluştuğunu göreceksiniz. Bu Ruby betiğinin açıklaması KontrolController sınıfı (class), ApplicationController sınfından türetilmiştirdir ancak bu konuya yani sınıf türevleri vb.. konulara ilerde değineceğiz. Ancak bilmemiz gerekirki daha önceden de bahsettiğimiz gibi sadece bir kontroller içinde o web uygulamasının işlevini gerçekleştirecek çok sayıda işlem vardır ve bu işlemler internet tarayıcısından gelen verilere göre birbirinden bağımsız olarak hareket ederler.
4-) Merhaba işlemini oluşturmak Bir metin editörü ile kontrol_controller.rb dosyasını açın ve aşağıdaki kodda yıldızla işaretli iki satırı yıldızları dahil etmeden kopyalayıp dosyanıza yapıştırın ve dosyayı aynı şekli ile .rb uzantısında kaydedin.
1 2 3 4 | class KontrolController ApplicationController def merhaba end end |
5-) View nedir size biraz bahsetmek istiyorum. View verilerin bir web sitesi olarak değerlendirilmesini ve onun tarayıcıda görünmesini sağlar başka bir değişle içeriği herşeyi hazır bir web sayfası için gerekli verileri, işlemlerde (action) belirtildiği üzere alır, derler ve tarayıcıda görmenizi sağlar. Rails uygulamalarında view dosyaları .rhtml uzantısına sahiptir. Metin editörünüzle yeni bir dosya oluşturun ve içerisine aşağıdakileri yazarak uzantısı .rhtml ve adı merhaba olacak şeklide (merhaba.rhtml) merhaba\app\views\kontrol dizinine kaydedin.
<html> <head> <title>Merhaba Dünya!</title> </head> <body> Merhaba Dünya! </body> </html>
6-) Öncelikle buraya kadar geldiyseniz sizi tebrik etmek isterim, çünkü şu anda ilk RoR web uygulamanızı oluşturdunuz bundan sonra yapacağımız tek şey sonucu görmek için bu uygulamayı çalıştırmak olacak. Bunun içinde ilk olarak RoR ile kurulu gelen web servisini komut satırına gireceğiniz aşağıdaki komutla çalıştıracağız. ruby script/server
7-) Serviste çalışıyor peki şimdi ne yapmak istiyoruz. http://localhost:3000 üzerinde varsayılan olarak çalışan ruby sunucusunda. Kontrol adlı denetleyici (controller) altında Uygulama içerisindeki Merhaba işlemini (action) çalıştırmak istiyoruz. O zaman bunun için girmemiz gereken URL http://localhost:3000/kontrol/merhaba olacaktır.
Bundan sonra ise değişik konularda yine ruby ile ilgili veriler sunmaya devam edeceğim. Eğer takıldığınız bir yer varsa ya da bu anlatımda bir eksiklik görmüşseniz lütfen belirtinki, daha iyilerini hazırlamak için çaba gösterelim.
Çalışmalarınızda kolaylıklar dilerim arkadaşlar. webdr
Etiketler: Merhaba Dünya!, ruby, Ruby on Rails
Bu Yazıyı Paylaşın: Bağcık |Webiket |Oyyla |LinkiBol |Favorri |Tusul |del.icio.us |

“Ruby on Rails ile Merhaba Dünya!” yazısına 6 yorum var
müge demiş ki;
29 Nisan 2007, Pazar 11 pm | Cevapla
merhaba
yukarıda bahsettiğiniz uygulamaların hepsini yaptım ama http://localhost:3000/kontrol/merhaba yazdığımda Internet Explorer web sayfasını görüntüleyemiyor hatası alıyorum
bu hatayı niye aldığım hakkında fikriniz var mı
kolay gelsin iyi çalışmalar
webdr demiÅŸ ki;
30 Nisan 2007, Pazartesi 11 am | Cevapla
Merhaba,
Bunun nedeni yazıdaki merhaba.rhtml dosyasının title kapanış tagındaki “/” karakterini gözden kaçırmış olmamdır. Yazıdaki bu küçük ayrıntıyı düzeltiyorum, ayrıca bilgilendirdiÄŸiniz için teÅŸekkür ederim. Sizde aynı ÅŸekilde deÄŸiÅŸtirirseniz sorununuz çözülecektir.
Kolay gelsin
müge demiş ki;
3 Mayıs 2007, Perşembe 10 pm | Cevapla
aslında ben yazarken bunu farkettim düzelterek yazmıştı ÅŸimdi de “Unknown action
No action responded to merhaba”
hatası veriyor
webdr demiÅŸ ki;
4 Mayıs 2007, Cuma 5 am | Cevapla
4.maddede sanırım yıldızları da koyuyorsunuz ancak yıldızlar olmayacak. Aşağıdaki şekildeki gibi olacak
class KontrolController < ApplicationController
def merhaba
end
end
müge demiş ki;
4 Mayıs 2007, Cuma 10 pm | Cevapla
tamam:)ben bunu da doğru yazmıştım sizin belirttiğiniz gibi.sorun çok farklı bir yerdeymiş:):)
saolun yanıt verdiğiniz için iyi çalışmalar
bVICIL demiÅŸ ki;
13 Ağustos 2008, Çarşamba 11 am | Cevapla
6. adımda “ruby script/server” dediÄŸimde konsol çıktım ÅŸu ÅŸekilde oluyor:
bVICIL@bVICIL-pardus ~ $ ruby script/server
ruby: No such file or directory — script/server (LoadError)
nerede ve nasıl hata yapıyorum. bir bilginiz var mı? kodlama ile alakalı problem olmadığına eminim ki az önce ctrl+c ile bu komutu kesmeden önce süper bir şekilde çalışıyordu. bir yardımcı olursanız sevinirim.
saygılarımla