25 Şubat 2015 Çarşamba

Rails 2015

Bu sefer www.railstutorial.org adresinden.

Başlıyoruz, önce Cloud9 adresinde hesabımız yoksa açıyoruz. Yeni bir workspace oluşturup adını "rails-tutorial" koyup proje sembolü seçeneklerinden "Rails Tutorial" ikonu seçiyoruz (RubyOnRails değil).

Sırada Rails kurulumu var, Start editing düğmesini tıkladıktan sonra aşağıda açılan terminale:
$ gem install rails -v 4.2.0
 satırını giriyoruz. Gereken Ruby gemler yüklendikten sonra tekrar komut satırına geri döner. Yeni bir uygulama üretmek için "rails new" komutunu kullanacağız:

$ rails _4.2.0_ new hello_app
      create
      create  README.rdoc
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
      create  app
      create  app/assets/javascripts/application.js
      create  app/assets/stylesheets/application.css
      create  app/controllers/application_controller.rb
      .
      .
      .
      create  test/test_helper.rb
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor/assets/javascripts
      create  vendor/assets/javascripts/.keep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.keep
         run  bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.3.2
Using i18n 0.6.11
.
.
.
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
         run  bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted
 Bir süre sabırla bekledikten sonra uygulamamızın tüm gereken dosyaları kurulur ve gereken gemler "bundle install" ile otomatik olarak kurulur. Şöyle bir dosya yapısına bakarsak:

Dosya/KlasörAmacı
app/Ana uygulama (app) kodu, model, view, controller, ve helper dosyalarını içerir
app/assetsUygulamanın değerleri, CSS dosyaları, JavaScript dosyaları, ve resimler
bin/Binary işlem dosyaları
config/Uygulama konfigürasyonu
db/Veritabanı dosyaları
doc/Uygulama için dökümentasyon
lib/Kütüphane modülleri
lib/assetsKütüphane değerler CSS, JavaScript dosyaları ve resimler gibi
log/Uygulama log kayıtları
public/Erişime açık veriler (web tarayıcıların erişebileceği dosyalar), mesela error sayfaları
bin/railsKodu üreten, konsol oturumu açan ya da yerel bir server açan program
test/Uygulama testleri
tmp/Geçici dosyalar
vendor/Plugin ya da gem gibi üçüncü parti dosyalar
vendor/assetsÜçüncü parti değerler, CSS, JavaScript dosyaları, ve resimler
README.rdocUygulamanın kısa bir açıklaması
RakefileRake komutuyla kullanılabilen utility işlemler
GemfileBu uygulamada kullanılacak Gem listesi
Gemfile.lockA list of gems used to ensure that all copies of the app use the same gem versions
config.ru Rack middleware için konfigürasyon dosyası
.gitignore Git tarafından dikkate alınmayacak dosyalar paterni



Gemfile içinde uygulamamızda kullanılacak gemlerin bir listesi var. Burada değişik versiyonlarda gemlerden korunmak için otomatik olarak üretilen gem listesini aşağıdaki ile değiştirerek versiyonları sabitleyelim:
source 'https://rubygems.org'

gem 'rails',                '4.2.0'
gem 'sass-rails',           '5.0.1'
gem 'uglifier',             '2.5.3'
gem 'coffee-rails',         '4.1.0'
gem 'jquery-rails',         '4.0.3'
gem 'turbolinks',           '2.3.0'
gem 'jbuilder',             '2.2.3'
gem 'sdoc',                 '0.4.0', group: :doc

group :development, :test do
  gem 'sqlite3',     '1.3.9'
  gem 'byebug',      '3.4.0'
  gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
end
Gemfile dosyasındaki bu değişiklikleri yaptıktan sonra dosyayı kaydedelim ve konsolda :
$ bundle install
komutunu girip bu listedeki gemlerin yüklenmesini sağlayalım. Hadi bakalım server'ımızı çalıştıralım:
$ rails server
Bunu yeni bir terminal tab'ı açıp yaparsak diğer terminalde komut çalıştırmaya devam edebiliriz. Kendi bilgisayarınızda server çalıştırınca http://localhost:3000/ adresinde uygulamayı görüyorsunuz. Ama C9 editöründe uygulama geliştirirken
$ rails server -b $IP -p $PORT
komutu girilir ve "window - share..." menüsünde "Application" yanındaki linke tıklayarak uygulamanızın çalışan sayfasını görebiliriz.  “About your application’s environment” linkini tıklayıp uygulamanızın kullandığı toollar hakkında kısa bilgi sahibi olabilirsiniz.

Şimdi app/controllers/application_controller.rb dosyasını açalım ve içine "hello" metodunu ekleyelim:
class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  def hello
    render text: "hello, world!"
  end
end
uygulamamızın root dosyasının bu metodu çağırması içinse config/routes.rb dosyasında şu ilaveyi yapalım:
Rails.application.routes.draw do
  .
  .
  .
  # You can have the root of your site routed with "root"
  root 'application#hello'
  .
  .
  .
end
Dosyaları kaydettikten sonra uygulamamızı izlediğimiz tarayıcı sayfasını yenileyince "hello, world!" yazısı karşımıza çıkacaktır.






Hiç yorum yok:

Yorum Gönder