"Bez parametru dependent by články v tabulce blog_articles zůstaly a zrušen by byl jen záznam v tabulce blogs."
O to by se myslím spíš měla postarat databáze(když už to umí). V příkladech používáte cizí klíče, ale nikde nenastavujete referenční integritu.
V tabulce "blogs_articles" by měl být PK (blog_id,article_id).
Díky za článek! Hnedle si s tím zkusím pohrát. Navrhuju jednu databázi, kde se to referencema hemží, tak jsem zvědav jestli z has_one, has_many, belongs_to a has_many_and_belongs_to nebudu mít mžitky :)
Názory k článku
Ruby on Rails: Blog poprvé
mig (neregistrovaný)
2. 12. 2005 10:33
Nový
Re: pár poznámek
celé vlákno
Ano, to máte pravdu, ale Rails pracují i s databázemi, které cizí tuto integritu neumějí. Každá to navíc dělá trochu jinak, takže právě proto se to definuje až v modelu.
V příkladech pouze ukazuji, že jde o cizí klíč, ale vlastně to není nutné. Někde na stránkách rails jsem četl, že vzhledem k Don't Repeat Yourself principu by definice integrity na dvou místech byla opakováním :-)
Jinak z has_many, atd. mám občas mžitky taky, teda spíš z objektového přístupu k db, který občas přinese "odlišné ovoce". Zjistil jsem, že databáze musím navrhovat nikoli jak jsem byl zvyklý, ale z pohledu rails, ačkoli bych to občas dělal jinak.
V příkladech pouze ukazuji, že jde o cizí klíč, ale vlastně to není nutné. Někde na stránkách rails jsem četl, že vzhledem k Don't Repeat Yourself principu by definice integrity na dvou místech byla opakováním :-)
Jinak z has_many, atd. mám občas mžitky taky, teda spíš z objektového přístupu k db, který občas přinese "odlišné ovoce". Zjistil jsem, že databáze musím navrhovat nikoli jak jsem byl zvyklý, ale z pohledu rails, ačkoli bych to občas dělal jinak.
Whit (neregistrovaný)
2. 12. 2005 12:28
Nový
Re: pár poznámek
celé vlákno
Ano to je fakt, že by se člověk trochu opakoval, ale u větších aplikací je myslím důležitá konzistentní databáze, nehledě na to, že se třeba časem rozhodnu použít i jiné klienty pro přístup k ní než jen rails aplikaci.
Je to smutné, když musím např:
1. zkontrolovat data javascriptem před odesláním
2. zkontrolovat v aplikaci na serveru (kdyby nebyl javascript)
3. pro jistotu ještě zkontrolovat v databázi aby byla konzistentní
Ale je mi celkem jasné, proč je to tak navrženo a když by si člověk moc vymýšlel, tak se zřejmě nějakého frameworku, který mu zjednoduší vývoj, nedočká...
Je to smutné, když musím např:
1. zkontrolovat data javascriptem před odesláním
2. zkontrolovat v aplikaci na serveru (kdyby nebyl javascript)
3. pro jistotu ještě zkontrolovat v databázi aby byla konzistentní
Ale je mi celkem jasné, proč je to tak navrženo a když by si člověk moc vymýšlel, tak se zřejmě nějakého frameworku, který mu zjednoduší vývoj, nedočká...
pkm (neregistrovaný)
2. 12. 2005 13:12
Nový
abecední pořadí
celé vlákno
No k té tabulce realizující vazbu M:N, není abecední pořadí article_blog?
mig (neregistrovaný)
2. 12. 2005 16:14
Nový
Re: abecední pořadí
celé vlákno
nojo, čtvrtá hodina ranní odhalila bug v collate :-)
DostByloHype (neregistrovaný)
2. 12. 2005 15:09
Nový
a dost té reklamy
celé vlákno
Ach jo... Ruby je v módě a tak se ho každej PHP čučkař učí. Přitom je velice podobné Smalltalku o kterém vím už deset let a ten Japonec co ho vymyslel určitě šilhal po Smalltalku, ale samozřejmě si vymyslel vlastní syntaxi protože a) vymýšlet syntaxi je to nejjednodušší b) mohl se kasat že navrhnul nový "cool" revoluční jazyk.
Je to stejný "hype" jako používá Micro$oft pro svoje vykradené technologie. .NET je okopírovaná Java (syntaxe, technologie virtuálního stroje), ale v reklamních tlachání které okolo toho rozpoutali se to tak nějak zapomnělo.
Je to stejný "hype" jako používá Micro$oft pro svoje vykradené technologie. .NET je okopírovaná Java (syntaxe, technologie virtuálního stroje), ale v reklamních tlachání které okolo toho rozpoutali se to tak nějak zapomnělo.
DostByloHype (neregistrovaný)
2. 12. 2005 15:42
Nový
Re: a dost té reklamy
celé vlákno
Mozna znim trochu nastvane, ale nejsem... jenom me mrzi ze myslenky Smalltalku (vazby, zpravy) si privlastni nejaky sikmooky "vynalezce" a jeste s tim ma takovy uspech.
Petr Fischer (neregistrovaný)
2. 12. 2005 16:41
Nový
Re: a dost té reklamy
celé vlákno
Kerou implementaci smalltalku? Squeak? (ze bych si trosku konecne rozsiril obzory)
mig (neregistrovaný)
2. 12. 2005 19:59
Nový
Re: a dost té reklamy
celé vlákno
Rails jsou v Ruby a clanek je o rails. Vase poznamka by sla stejne tak pouzit na PHP, ktere je vlastne orezany Perl.
PHP "čučkařů" (jen tusim, koho tim myslite) je sice mnoho, ale i v PHP existuji lide, kteri jsou schopni delat neuveritelne objektove veci, ze by se nekdo, kdo pouziva objektove Ruby, divil. Je trochu klise o PHP mluvit negativne a masove ho pritom pouzivat. I kdyz netvrdim, ze to neni podle me trochu bastl.
Osobne nemam nic proti Smalltalku, ale nevim, proc by se nemohl nekdo inspirovat a udelat neco, s cim navic marketingove uspeje. Nakonec nikdo se netaji tim, ze Ruby vychazi z Pythonu, Smalltalku i Perlu.
PHP "čučkařů" (jen tusim, koho tim myslite) je sice mnoho, ale i v PHP existuji lide, kteri jsou schopni delat neuveritelne objektove veci, ze by se nekdo, kdo pouziva objektove Ruby, divil. Je trochu klise o PHP mluvit negativne a masove ho pritom pouzivat. I kdyz netvrdim, ze to neni podle me trochu bastl.
Osobne nemam nic proti Smalltalku, ale nevim, proc by se nemohl nekdo inspirovat a udelat neco, s cim navic marketingove uspeje. Nakonec nikdo se netaji tim, ze Ruby vychazi z Pythonu, Smalltalku i Perlu.
DostByloHype (neregistrovaný)
2. 12. 2005 23:13
Nový
Re: a dost té reklamy
celé vlákno
ok, "marketingově"... ale myslel jsem že Open Source je víc o programátorské kvalitě než o obchodnich kecech a'la Microsoft. Jinak samozřejmě souhlasím s tím že inspirace u jiných jazyků není zakázaná, jenom tím nevzniká nic nového, staré víno v nových lahvích.
uživatel si přál zůstat v anonymitě
3. 12. 2005 18:09
Nový
Re: a dost té reklamy
celé vlákno
kdyz uz jsme u cuckaru: kazdej druhej cuckar si mysli, ze wm je invence autoru javy a kazdej cuckar (az na cuckarske vyjimky, ovsem) si mysli, ze historie technologii spojenych s it zacina v dobe vzniku os dos nebo spol. ms (a proto take s dosem a ostatne vsemi os, co kdy mely se spol. ms neco spolecneho, vsechno ostatni porovnava) :-P
3. 12. 2005 19:55
Nový
Re: a dost té reklamy
celé vlákno
BTW „ten Japonec“ vyvinul Ruby pro vlastni potřeby a já myslím, že si každý pro svoje potřeby může vivinout, cokoliv se mu zlíbí, třeba aspektove orientovaný FORTH nebo funkcionální assembler... :-D
Dubo (neregistrovaný)
7. 12. 2005 11:32
Nový
Spolupraca s Oracle
celé vlákno
Snažím sa uvádzané príklady testovať aj na databáze Oracle 9i ale táto kombinácia vykazuje značne dlhú odozvu. Neviem, či to mám pripísať nesprávne nainštalovanému/použitému driveru( v mojej inštalácii Rails-ov nebol - že by bol Oracle málo rozšírený? - stiahol som si ruby-oci8-0.1.13 ) alebo má Rails obecný problém s databázou pri veľkom počte tabuliek - okrem systémových je na databáze kde testujem asi 2000 mojich tabuliek ?
uživatel si přál zůstat v anonymitě
26. 7. 2007 14:25
Nový
has_one :articles
celé vlákno
has_one :articles ??? nemelo by byt article

