Skip to content

Instantly share code, notes, and snippets.

@tmichel
Last active December 15, 2015 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tmichel/5276277 to your computer and use it in GitHub Desktop.
Save tmichel/5276277 to your computer and use it in GitHub Desktop.

Object-relational mapping

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.

ActiveRecord

Dokumentáció

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

Dependency management

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ő.

Rake

Dokumentáció

Tutorial

Video: Megint csak kicsit Rails specifikus, de azért hasznos dolgok vannak benne a rake használatáról is. Railscasts link

Projekt struktúra

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment