Crearea unei aplicatii in Rails - partea a-II-a

Vom continua astazi sa lucram la aplicatia noastra RubyBlog apeland la beneficiile framework-ului Rails. Multi developeri afirma ca poti invata sa programezi in Rails fara a stii deloc Ruby. Este foarte adevarat desi putine cunostinte de ruby nu strica asa ca nu ezitati sa exersati putin folosind pentru aceasta un excellent tutorial online aici.
Deoarece articolele pe care dorim sa le postam pe blog-ul personal trebuie sa fie stocate si accesate de vizitatori este evident ca vom folosi pentru aceasta o baze de date MySQL.
$ mysqladmin –u root create rubyblog_development
Vom verifica ca totul este ok si ca aplicatia noastra se conecteza la baza de date folosind pentru aceasta comanda:
$ rake db :migrate
In cazul in care totul este in regula veti primi raspuns o singura line cu un mesaj de genul
(in C:/InstantRails/rails_apps/rubyblog)
in caz contrar vor aparea niste mesaje de eroare si va trebui sa vericati fisierul config/database.yml si sa corectati eventualele erori. Daca examinati atent acest fisier veti gasi ceva foarte interesant si anume faptul ca rails furnizeaza medii separate pentru toate fazele proiectului nostru si anume dezvoltare, testare si productie.
Pasul urmator este crearea in baza de date tabelei article si a unui model pentru a putea utiliza aceasta tabele :
$ ruby script/generate model Article
Atentie! Atunci cand creati un model una din paradigmele Rails este ca numele modelului sa inceapa cu litera mare si sa fie utilizata forma de singular.
Pentru a crea tabela vom edita fisierul db/migrate/001_create_articles.db astfel:

class CreateArticles < ActiveRecord::Migration
def self.up
create_table :articles do |t|
t.column :title, :string
t.column :description, :text
t.column :text, :text
t.column :created_at, :timestamp
t.column :updated_at, :timestamp
end
end
def self.down
drop_table :articles
end
end

Dupa cum se observa, desi am folosit forma de singurlar in crearea modelului totusi in crearea fisierului bazei de date rails a folosit pluralul.Acest lucru este facut automat de rails. De mentionat ca pentru aceasta este folosit un motor intern care pluralizeaza cuvintele din limba engleza chiar daca acestea formeaza un plural neregulat.
In continuare vom executa fisierul cu comanda
$ rake db:migrate
In continuare vom crea un controller pentru lista de articole cu numele admin
$ ruby script/generate controller admin
Vom edita fisierul admin_controller.rb din app/controllers

class AdminController < ApplicationController
Scaffold : article
End

Vom porni serverul local cu comanda:
$ ruby script/server
Deschidem browserul la adresa http://localhot:3000/admin si WOW avem deja forma pentru editare articolelor in blogul nostru. Acum revizuiti inca odata toti pasii pe care i-am facut pana acum si o sa constatati ce repede si usor am creat o forma web pentru functionala pentru a posta articole in blog-ul nostru. Nu-I asa ca v-a placut si doriti sa mergeti mai departe cu Rails.Sincer pentru mine rails a fost o adevarata revelatie.

Crearea unei aplicatii web in Rails

Crearea unei aplicatii web in Rails este un lucru foarte simplu. Pentru aceasta mai intai trebuie sa pornim consola ruby.In cazul in care folosim InstantRails Rails Application -> Open Ruby Console Window
Aplicatia pe care dorim s-o construim este un blog si anume Rubyblog.
Pentru aceasta vom introduce in consola ruby urmatoarea comanda:
$ rails rubyblog
Aceasta comanda va crea cadrul general al aplicatiei care in aceasta faza se rezuma la o structura de directoare si de fisiere de configurare.
Desi nu am scris nicio linie de cod avem posibilitatea sa testam cadrul general al aplicatiei sa ne asiguram ca totul este OK. Pentru aceasta vom porni WEBrick un mic server web scris in ruby care vine odata cu pachetul ruby. De mentionat ca pentru a accesa WEBrick trebuie sa folosim portul 3000 spre deosebire de cazul implicit si anume portul 80.
Deci:
$cd rubyblog
$ruby script/server

Acum nu avem altceva de facut decat din browserul preferat sa accesam http://localhost:3000. Daca totul este Ok va in ferestra vor apare informatii generale despre aplicatie si despre mediul ruby folosit.Felicitari ati creat prima aplicatie web in Rails.
Cam atat pentru azi maine vom incepe sa adaugam cate o caramida la aplicatia noastra. Pana atunci va invit sa exersati programarea in Ruby folosind un excelent tutorial online care il gasiti aici

Instalare Ruby sub Windows

Pentru a rula mediul ruby sub windows vom descarca de aici ultima versiune stabila a utilitarului one click installer. Acesta contine atat interpretorul de ruby cat si managerul de pachete gems.
Pentru a instala framework-ul rails vom lansa din gems comanda gem install rails --include-dependencies.
Pentru ca totul sa fie Ok mai trebuie instalat si baza de date MySQL a carei ultima veriune a descarcati de aici

O alta modalitate de instalare este utilitarul Instantrails care poate fi descarcat de aici. De mentionat Instantrails nu suporta path-urile cu spatii de genul C:\Program Files\Instantrails. Cel mai bine descarcati pachetul Instantrails in C:\Instantrails.
Instantrails contine tot ceea ce aveti nevoie pentru a incepe lucrul imediat si anume interpretorul ruby, managerul de pachete gems, framework-ul rails, serverul Apache, baza de date MySQL precum si php si phpmyadmin in cazul in care va vine greu sa va despartiti de php.


Cam atat pentru azi, maine urmeaza sa cream prima aplicatie in rails .

Ce este Ruby?

Ruby este un limbaj in jurul caruia s-a creat o adevarata efervescenta in ultimul timp. Desi s-ar putea crede ca este o nascocire relativ noua a dezvoltatorilor in goana lor de a aduce ceva nou pe piata, in realitatea nu este deloc asa. Ruby isi are originea in Japonia, fiind creat de Yukihiro Matsumoto (Matz) in anul 1990.Se pare ca isi are radacinile in Python limbaj foarte popular in Japonia acelor ani.In ultimii ani a devenit foarte popular si in restul lumii, aceasta popularitate sau mai degraba redescoperire a limbajului datorandu-se framework-ului Rails scris in Ruby. Astazi se vorbeste foarte mult despre Ruby on Rails facandu-se o mica confuzie. Rails nu este un limbaj in sine ci doar un framework ce ruleaza peste Ruby.
In continuare va invit sa descoperim impreuna frumusetea acestui limbaj si eleganta framework-ului Rails in dezvoltarea aplicatiilor web.