RoR [04 – Hello World]

Ruby on Rails da “Merhaba Dunya”

Sayfamizi olusturarak ruby dunyasina giris yapiyoruz.

Gerekli Yazilimlar:

Ihtiyaciniz olacak:

Yazi Editoru [Text Editor]: Bir cok editor bulundugu icin istediginiz herhangi bir editor kullanabilirsiniz.RoR icin kullanilan genel yazilimlar MacOSX uzerinde BBedit populer olanidir ona benzer diger kullanacagimiz uygulama TextWrangler uygulamasi.

Konsol [Console]: OS X ‘in kendi Terminalini kullaniyoruz veya terminal2 adinda uygulamayi kullanabilirsiniz.


Tarayici [Browser]: Herhangi bir tarayici ihtiyacimizi gorecektir.Google Chrome uzerinden izliyecegiz.

Artik Basliyabiliriz!…

hello_world isminde yeni bir uygulama yaratiyoruz.

Yukarida yazdigimiz komut  bize “hello world” adinda bir klasor olusturuyor.
Bu klasörün içine rails uygulamasini oluşturan çeşitli dosyaları ve alt klasörleri bulabilirsiniz.
Rails Bu dosyalari otomatik olarak olusturacaktir:

Tablo Referanshttp://guides.rubyonrails.org/getting_started.html

File/Folder Purpose
app/ Contains the controllers, models, views, helpers, mailers and assets for your application. You’ll focus on this folder for the remainder of this guide.
bin/ Contains the rails script that starts your app and can contain other scripts you use to deploy or run your application.
config/ Configure your application’s routes, database, and more. This is covered in more detail in Configuring Rails Applications.
config.ru Rack configuration for Rack based servers used to start the application.
db/ Contains your current database schema, as well as the database migrations.
Gemfile
Gemfile.lock
These files allow you to specify what gem dependencies are needed for your Rails application. These files are used by the Bundler gem. For more information about Bundler, see the Bundler website.
lib/ Extended modules for your application.
log/ Application log files.
public/ The only folder seen by the world as-is. Contains static files and compiled assets.
Rakefile This file locates and loads tasks that can be run from the command line. The task definitions are defined throughout the components of Rails. Rather than changing Rakefile, you should add your own tasks by adding files to the lib/tasks directory of your application.
README.rdoc This is a brief instruction manual for your application. You should edit this file to tell others what your application does, how to set it up, and so on.
test/ Unit tests, fixtures, and other test apparatus. These are covered in Testing Rails Applications.
tmp/ Temporary files (like cache, pid, and session files).
vendor/ A place for all third-party code. In a typical Rails application this includes vendored gems.

app/ —> models, views, controllers, assets ve helpers gibi klasörleri içerir.

config/ —> Uygulamanızın çalışma kuralları, yönlendirmeler ve veritabanı ayarlamaları bu klasörde bulunur.

config.ru —> Rack temelli uygulamalarda, uygulamayı başlatma yarayan konfigürasyonlardır.

db/ —> Veritabanı şemalarını ve migrasyonları içermektedir.

doc/ —> Uygulamanızın dökümanlarını bu klasörün içindedir.

Gemfile —> Rails uygulamanızın hangi Gemlere bağlı olduğunu göstermektedir

lib/ —> Uygulamanız için gemişletilmiş modüller burada bulunmaktadır.

log/ —> Uygulamanızın log dosyaları burada tutulur.

public/ —> Statik dosyaları ve derlenmiş assets dosyalarını barındırır.

Rakefile —> Bu dosyada terminalden çalıştırılabilen batch işleri bulunmaktadır.

README.rdoc —> README dosyası uygulamanız hakkında kısa bilgiler bulundurmaya yarar.

script/ —> Başlangıç uygulamanızın rails script dosyalarını içermektedir.

test/ —> Rails uygulamasının test konuları bu kısımda bulunmaktadır.

tmp/ —> Geçici dosyaların bulunduğu kısımdır.

vendor/ —> 3. parti kodlar burada bulunmaktadır. Tipik bir rails uygulaması, Ruby Gemleri, Rails kodlarını içermektedir.

 

Terminalde komut kismindan devam ederek, olusturdugumuz “hello_world” klasorune gecis yapiyoruz.

Asagidaki komut ilen webserver imizi “WEBrick” baslatiyoruz.

Ayrica, “server” yerine kisaltilmis olarak “s” yazarakta ayni islemi yapabilirsiniz.

Eger,server baslatirken bundle hatasi alirsaniz; Asagidaki komutu yazarak “hello_world” uygulamasindaki eksik bundle lari yukleyebilirsiniz.

bu islemler sonunda karsimiza boyle komutlar gelmesi gerekir;

Screen Shot 2014-08-26 at 14.10.28

Webserverimiz baslatildi ,artik tarayicimiza asagidaki adresi girerek sayfamizi gorebiliriz;

Asagidaki gibi bir sayfa gormemiz gerekiyor;

first-hit

Webserveri sonlandirmak icin CTRL+C tuslarina serverin acik oldugu terminal uzerinde basmaniz yeterli olacaktir.

Eger ciktiysak;tekrar “hello_world” proje dizinine giriyoruz [cd hello_world]. Controller oluşturmak için;

Komut kismina:
yazarak “pages” adinda controller imizi olusturuyoruz.
Screen Shot 2014-08-26 at 14.20.27
pages_controller.rb bizim controllerimiz. Bu dosyada uygulama için “kök” (ev) isteğine hizmet verecek eylem oluşturacagiz.
metin düzenleyicisiyle bu dosyayi aciyoruz.Konumu;

Gordugunuz uzere controllerimiz bos. Controllerimiza “home” isminde yeni bir eylem ekliyoruz:

calisilirligi gorebilmemiz icin log kayitlarina Merhaba yazdiriyoruz:

Java diline asina olanlar icin, “puts” Javadaki System.out.println(); ilen ayni islemi gormekte.

Yaptigimiz islem asagidaki gibi olmali;
Screen Shot 2014-08-26 at 14.29.00

Suanda eylemlerimiz “home” adinda calismak isteyecektir bu yuzden asagidaki konuma:

home.html.erb adinda sayfa olusturuyoruz.

Erb uzantisi olan bu dosya, herhangi bir dinamik içerik gömmek için Rails tarafından işlenecektir anlamına gelir.
home.html.erb dosyasini metin duzenleyicisinde aciyoruz ve;

Merhaba Dunya!

kodumuzu yaziyoruz.

Screen Shot 2014-08-26 at 14.36.33

Ayrica controller icin guzergahi belirlememiz gerekiyor. routes.rb dosyasini asagidaki konumdan bulup aciyoruz;

Bu dosya icinde silmek isteyeceginiz bir cok yardimci komut bulunmakta.
Simdi asagidaki komutu yazarak kaydediyoruz:

Screen Shot 2014-08-26 at 14.41.24

Eger tarayicinizi acip tekrar localhost:3000 girerseniz karsimiza bu ekran gelecektir;
Screen Shot 2014-08-26 at 14.43.25
Burada bitirebiliriz ancak bir kucuk ayrinti daha;
Pages controller sayfasini tekrar aciyoruz:

Kismini degistiriyoruz.

karsilama adinda bir degisken atiyoruz ve deger olarak ” Home Eylemi : Merhaba Dunya! ” atiyoruz.
bu degisken suanda gozukmeyecektir bu yuzden, home.html.erb dosyasini acip bu kismida degistiriyoruz;

<%=@karsilama %>

Ve Tekrar tarayicimizi yeniledigimizde karsimiza soyle bir ekran gelecektir;

Screen Shot 2014-08-26 at 14.50.53
Ve Merhaba Dunya uygulamamizi basariyla olusturduk.
Bu sekilde Ilk dersimizi bitirmis oluyoruz.

Leave a Reply

Your email address will not be published. Required fields are marked *