Nagyon leegyszerűsítve tábla -> osztály leképezés. Az adatbázis mezők (oszlopok) az osztály attribútumaira képeződnek le. Az egymásra hivatkozó osztályoknál már kezd érdekesebb lenni, de igazán érdekes az öröklésnél lesz. Erre nekünk most nem nagyon lesz szükségünk.
A Rails guide-ból az idetartozó rész. ActiveRecord tutorial. A rails generate
dolgok nem mennek majd, meg a rake taskok
sem, de mindent meg lehet írni kézzel
is csak tovább tart.
-
Migrations: lényegében adatbázis séma módosítás verziókövetve.
Egy migrationre példakód:
class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :email t.string :password t.timestamps # created_at és updated_at mezőket adja hozzá end end end
-
Associations: táblák (~modellek) kapcsolatai
-
Validations: hogyan validáljunk. Ez lényegében arról szól, hogy a bejövő adatról (felhasználó írja be a mezőbe a weboldalon, amit elküld a szervernek), hogyan győződünk meg, hogy számunkra elfogadható állapotban és formában van. Erre nem tértünk ki részletesen múltkor, de majd sor kerül erre is.
-
Querying: lekérdezések írása ActiveRecorddal
ActiveRecord Rails nélkül nem bonyolult. Itt van két blogbejegyzés, hogyan érdemes.
Dead simple ActiveRecord migrations without Rails és ActiveRecord Without Rails (ez a második picit már régi, de azért alapjaiban még használható)
És egy GitHub repo, ebben van jó példakód. Van migration is, meg association is. A legtöbb dologra van példa
Függőségek kezelése az alkalmazásban. Használt gemek verzióinak kordában tartása. Lehet, hogy te egy bizonyos verziót szeretnél használni. Meg segít abban is, hogy a kódodat könnyen meg tudd osztani mással és neki ne kelljen szívnia azzal, hogy egyesével vadássza össze a függőségeket.
Ehhez a használt eszközünk a Bundler. A doksi elég jó, ebből minden megérthető.
Video: Megint csak kicsit Rails specifikus, de azért hasznos dolgok vannak benne a rake használatáról is. Railscasts link
Igazából rád van bízva, de a következő mapp strutkúra elég jól átláthatóvá teszi a dolgokat.
my_awesome_app/
helpers/
init.rb
partials.rb
models/
init.rb
user.rb
routes/
init.rb
login.rb
main.rb
views/
layout.erb
login.erb
main.erb
public/
css/
js/
db/
migriations/
001_create_user.rb
002_create_post.rb
database.yml # config fájl
app.rb
config.ru
Gemfile
Rakefile
A fenti mappstruktúra példakóddal: github repo és egy picit hosszab leírás róla stackoverflow-n