Ruby on rails

Allikas: Kuutõrvaja
Redaktsioon seisuga 11. november 2009, kell 13:36 kasutajalt Jj (arutelu | kaastöö)
Ruby on Rails

Sissejuhatus

Ruby on Rails on veebiarenduse raamistik ehk framework, mis kasutab programmeerimiskeelt Ruby. Kui Rails on alles noor raamistik (2004), siis Ruby on juba aastast 1993, mil Yukihiro Matsumoto sai Jaapanis tööle esimese "Hello World!"-i.

Ruby't saab proovida ka otse browseris http://tryruby.hobix.com/

Rails on mõeldud lihtsustama ning kiirendama andmebaasidega seotud veebilehtide loomist. Rails on kirjutatud Ruby keeles ja tegemist on vabavaralise projektiga.

Edasine tekst on kirjutatud FreeBSDd silmas pidades, kuid peaks olema piisavalt üldine ,et kasutada kõigil Linux/UNIX süsteemidel.

Rails arenduskeskond

Installime vajalikud päkitsad railsile

Paigaldada on vaja

  • Mysql server
  • ruby18
  • rubygem-rails koos s2ltuvustega

Paigaldame mysql serveri ning siis ruby. FreeBSD's saab viimase installida lihtsalt.

cd /usr/ports/lang/ruby18
make install clean

railsi install

Porsudest on hetkel rails 1.x versioon kuid see on juba pisut vana seega Paigaldame ruby gems paketti ning siis selleks ,et vaadata mis versiooni railsi installida saab

gem search rails --remote

Tekitab nimekirja railsi versioonidest mida annab paigadada. Viimane versioon hetkel on 2.0.2 nii ,et installime selle

gem install rails --version 2.0.2

Uue projekti start

Uue projekti loome käsuga

rails ideenimi

rails 2.0 puhul ,et vältida mysqli tuleb kirjutada

rails -d mysql test

Genereerib kausta test

seejärel stardime arenduseks vajaliku webrick serveri

cd test
script/server -d -p 3000
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
[2008-01-08 18:27:50] INFO  WEBrick 1.3.1
[2008-01-08 18:27:50] INFO  ruby 1.8.6 (2007-09-24) [i386-freebsd7]

võti -p 3000 stardib veebiserveri pordile 3000 ning -d paneb tööle taustal, kasutades debumiseks on soovitatav see ärajätta

Nb! kui muudate database.yml faili tuleb veebiserverit taaskäivitada

nüüd peaksime enda projekti nägema aadressil http://www.nimi.ee:3000

Railsiveb.jpg

Seejärel anname käsu mis loob uue kontrolleri.

ruby script/generate controller katsetus 

Railsis on mudelid (model) ja controllerid (controller ) See kõik asub siis stiilis aadress/kontroller. Näiteks www.nimi.ee kuhu lõime hetk tagasi kontrolleri nimega katsetus. Kohe peale loomist oli www.nimi.ee/katsetus kättesaadav. Models on kasutusel kui sql andmete hoidjad, meil on kasutuses mudel nimega test. Raisi controlleri failis defineeritakse asju, mida sinna www.nimi.ee/test/? kohta panna äsjaloodud kontrolleril on seal näiteks index, aee on avaleht. Lisame näiteks indexile väikese teksti:

avame faili test/app/controllers/katsetus_controller kus asub class KatsetusControllerning tekitame sinna järgneva sisu

class KatsetusController < ApplicationController 

 def index
   render :text => "tekst index lehele"
 end

end

ja liikudes urlile http://www.nimi.ee:8000/katsetus

peaksime nägema kirja tekst index lehele

Edasi võib lugeda juba õpetusi stiilis

http://www.onlamp.com/pub/a/onlamp/2005/03/03/rails.html

Railsi logid

Logid võivad railsil kasvada päris suureks seetõttu oleks mõistlik need roteerima panna

näiteks sobiks logrotate jaoks selline blokk

/www/projekt/rails/log/production.log {
   daily
   rotate 14
   size 5M
   compress
   create 640
   missingok
   # vaja ka teha railsile restart, kui kasutuses moodulina siis näiteks selliselt
   touch /www/projekt/rails/tmp/restart.txt
 }