Ruby on Rails tutorial
From Nasza Pasja - Programowanie
Zachęcam do współtworzenia tego tutorialu jako że materiałów po polsku jest naprawdę niewiele. Każde choćby drobne uzupełnienie bardzo mile widziane.
Spis treści |
Instalacja
Windows
- Instalujemy Ruby
Pobieramy z http://rubyforge.org/frs/?group_id=167
Next, Next, Next, Enable RubyGems, Next, Done
- Z menu start uruchamiamy RubyGems Package Manager i wpisujemy:
gem install rails --include-dependencies
Linux
Gentoo
emerge rails
Ubuntu (<= 6.06)
sudo apt-get install rails
Start
Z linii poleceń wpisujemy:
rails cos
Co tworzy nam szkielet projektu w katalogu dupa. Co dokładnie tam jest zostanie opisane dalej. Wchodzimy do cos:
cd cos
I uruchamiamy serwer:
ruby script/server
A teraz za pomocą swojej ulubionej przeglądarki udajemy się pod adres: http://localhost:3000
IT'S ALIVE !!!
Wprowadzenie
Kilka słów wstępu i opisu ideologii całego framework'a jest niezbędne, szczególnie jezeli przerzucasz się np. z PHP. Po pierwsze, RoR opiera się na technologii MVC
Podniecenie
Stworzymy teraz bardzo prostą aplikację korzystając ze scaffolda. Ten numer jest w każdym tutorialu Ruby on Rails choć nie jest to nic specjalnego w stosunku do całej potęgi RoR.
Potrzebna będzie baza danych (załóżmy że MySQL). Zakładamy że mamy już wygenerowany projekt dupa (patrz wyżej) i jesteśmy w katalogu projektu.
- Edytujemy plik config/database.yml - w tej chwili interesuje nas sekcja development, ustawiamy hosta, login i hasło.
Przykładowa zawartość pliku jeżeli korzystamy z bazy MySQL:
development: adapter: mysql database: baza_development username: admin password: costam host: localhost test: development production: adapter: mysql database: baza username: root password: costam host: localhost
Czyli zakładam że masz na localhoście bazę MySQL o nazwie baza.
Zrobimy sobie listę książek. Najpierw, generujemy model książki, z przyzwyczajenia trzymam się angielskiego nazewnictwa (co zresztą wcale nie jest złym zwyczajem). Tak więc w głównym katalogu projektu, z linii poleceń wpisujemy
ruby script/generate model book
Zobaczymy coś w stylu:
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/book.rb
create test/unit/book_test.rb
create test/fixtures/books.yml
create db/migrate
create db/migrate/001_create_books.rb
Dobieramy się teraz do pliku db/migrate/001_create_books.rb - po naszej edycji powinien on wyglądać następująco:
class CreateBooks < ActiveRecord::Migration
def self.up
create_table :books do |t|
t.column :title, :string
t.column :description, :text
end
end
def self.down
drop_table :books
end
end
I wykonujemy polecenie:
rake db:migrate
(Więcej info o tym co zrobiłeś: Ruby on Rails: Migracje)
I o ile dobrze skonfigurowaliśmy bazę w config/database.yml i rzeczywiście ona działa, pokazuje się:
(in /projects/baza) == CreateBooks: migrating ===================================================== -- create_table(:books) -> 0.0365s == CreateBooks: migrated (0.0369s) ============================================
Ciekawskich zapraszam do obejrzenia co teraz znajduje się w bazie danych baza_development.
Kolejnym krokiem jest stworzenie kontrolerów dla naszych danych:
ruby script/generate scaffold book
i uruchomienie serwera (domyślnie na porcie 3000):
ruby script/server
Kolejnym krokiem jest po prostu odpalenie w naszej przeglądarce adresu: http://localhost:3000/books
Miłej zabawy z Rails!
CreateBooks: migrating ===================================================
-- create_table(:books)
-> 0.0365s
CreateBooks: migrated (0.0369s) ==========================================
</pre>
Ciekawskich zapraszam do obejrzenia co teraz znajduje się w bazie danych baza_development
== CreateBooks: migrating ===================================================== -- create_table(:books) -> 0.0365s == CreateBooks: migrated (0.0369s) ============================================
Ciekawskich zapraszam do obejrzenia co teraz znajduje się w bazie danych baza_development

