Ruby on Rails

Mureakuha

Loikkaa: valikkoon, hakuun

Ruby on Rails, yleensä lyhyesti Rails, on Ruby-ohjelmointikieleen pohjautuva avoimen lähdekoodin ohjelmistokehys (framework).

Rails pohjautuu Model-View-Controller-arkkitehtuuriin, ja on tarkoitettu lähinnä WWW-pohjaisten sovellusten luomiseen.

Muista WWW-kehyksistä Rails erottuu lähinnä tarvittavan ohjelmakoodin pienen määrän sekä konfigurointitarpeen puutteen osilta. Malli, eli ohjelmointikielen näkemys tietokannan tauluista, rakennetaan lähes kokonaan automaattisesti: Ohjelmoija luo tyhjän luokan, ja Rails löytää automaattisesti samannimisen taulun tietokannasta ja päättelee mitä sarakkeita siinä on. Näkymä, eli HTML jonka käyttäjä näkee, luodaan suoraan HTML-paloista. Ohjain, eli luokka, joka vastaa käyttäjän antamiin komentoihin, määritellään luokkana, jonka metodiksi koodi kirjoitetaan. Rails tukee myös tyypillisten tietueiden luonnin, lukemisen, päivittämisen ja tuhoamisen mahdollistavien metodien automaattista määrittelyä.

Rails tukee myös muita toimintoja, kuten asynkronisia JavaScript-toimintoja (ns. AJAX-toiminnot), sähköpostin lähettämistä ja vastaanottamista, sekä Web Services-toimintoja.

Rails toimii lähes kaikissa käyttöjärjestelmissä missä Rubykin. Web-palvelimeksi sopii niin Rubyn mukana tuleva pieni WebRICK-palvelin kuin myös Apache tai Lighttpd. Tietokannaksi sopii myös moni - niin MySQL, PostgreSQL kuin SQLite ovat tuettuina, kuten myös moni kaupallisista palvelimista, kuten Oracle ja DB2.

Sisällysluettelo

Railsin asennus

Olettaen, että olet jo asentanut Rubyn sekä RubyGemsin, voit asentaa Railsin seuraavalla komennolla

gem install rails --include-dependencies

tai sama lyhemmin

gem i rails -y


Ohjelman luonti

Railssissa luodaan uusi ohjelma käyttäen komentoa rails

rails ohjelman_nimi

Tämä luo nykyisen hakemiston alle uuden hakemiston ohjelman_nimi, joka sisältää uuden Rails-ohjelman tiedostot. Tämän jälkeen säädetään MySQL (tai jonkin muun railsin tukeman tietokannan) asetukset kuntoon. Oletetaan, että olet jo asentanut MySQL-tietokannan (jota tässä esimerkissä käytetään), joten avaa tiedosto ohjelman_nimi/config/database.yml

Sisällön pitäisi olla jotakuinkin seuraavan näköinen:

# MySQL (default setup).  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql
# On MacOS X:
#   gem install mysql -- --include=/usr/local/lib
# On Windows:
#   There is no gem for Windows.  Install mysql.so from RubyForApache.
#   http://rubyforge.org/projects/rubyforapache
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  database: rails_development
  username: root
  password:
  host: localhost

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: rails_test
  username: root
  password:
  host: localhost

production:
  adapter: mysql
  database: rails_production
  username: root
  password: 
  host: localhost

Huom! Valitsemasi tietokannat pitää olla olemassa.

Aseta vähintään development kohta oikein. Älä laita test-kohtaan samaa tietokantaa kuin development tai production kohdissa on, koska muuten kannan sisältö katoaa.

Controllerin luonti

Kontrolleri luodaan komennolla: (jos olet kyseisessä hakemistossa, missä on ohjelmakin)

./script/generate controller MyTest

Avaa tiedosto app/controllers/my_test_controller.rb

Sisältö pitäisi näyttää tältä:

class MyTestController < ApplicationController
end

Lisää nuiden kahden väliin teksti:

  def index
    render_text "Hello world!"
  end

Serverin käynnistys

Serverin käynnistys onnistuu komennolla:

./script/server

Ja sitten selaat selaimellasi osoitteeseen: MyTest Ja ohjelman pitäisi tulostaa "Hello world!"

Linkkejä


Tämä artikkeli on alun perin kopioitu Wikipediasta. Sen sisältö julkaistaan GDFL-lisenssin alaisena:
Tämän dokumentin kopiointi, levittäminen sekä muokkaaminen on sallittua GNU Free Documentation Licensen version 1.2 tai uudemman Free Software Foundationin julkaiseman version mukaisesti, ilman muuttumattomuuslauseketta tai kansitekstejä. Tätä koskee vastuuvapaus.
Kopio lisenssistä (englanniksi) löytyy täältä.
Henkilökohtaiset työkalut