Overzicht artikelen:
- Oefenroutes rijexamen Kontich - Update 1
- Oefenroutes praktisch rijexamen - examencentrum Kontich
- Rails hosting - de reacties
- Ruby on Rails hosting
- Textmate voor Windows gebruikers
- Ruby on Rails Migrations
- (Ajax) scaffolding tutorial
- Model - View – Controller
- MySQL + grafische interface installeren
- Ruby on Rails installeren
(Ajax) scaffolding tutorial
1 april 2006, 22:24Wat is scaffolding?
Scaffolding is het automatisch genereren van een eenvoudige interface om data te manipuleren. Vertrekkende van een database-tabel met een aantal kolommen erin, maakt het scaffold commando webpagina’s met formulieren (inclusief de verwerking/logica erachter) aan. Deze webpagina’s laten je toe een aantal gestandaardiseerde acties op data uit te voeren:
- Een opsomming van data weergeven
- data aanmaken (Create)
- data weergeven (Read)
- data aanpassen (Update)
- data verwijderen (Delete)
Hoe scaffolding gebruiken?
Je kan gebruik maken van de scaffold generator of van dynamic scaffolding. Ze geven beiden hetzelfde resultaat. In dit artikel bespreek ik de scaffold generator.
Over het algemeen gebruik je de scaffold generator, via de console, als
volgt:
ruby script/generate scaffold ModelName ControllerName
action,…
Deze generator spreekt voor zichzelf: hij verwacht:
-
- een naam voor je model
-
- een naam voor je controller (optioneel; indien je er geen opgeeft, wordt het meervoud van de naam van je model gebruikt)
-
- bijkomende actions (indien gewenst). Deze worden, weliswaar zonder
inhoud, toegevoegd aan de controller en krijgen een view.
Opmerking: de scaffold actions en views (index, list, show, new, create, edit, update, destroy) worden automatisch aangemaakt! -
Indien je bijvoorbeeld een blog wil “scaffolden”, gebruik je
de scaffold generator op deze manier:
-
- Maak eerst een database-tabel (“posts”) aan en configureer config/database.yml
-
- Start de scaffold generator via de console:
ruby script/generate scaffold Post
(of beter: maak gebruik van de scaffold generator in de RadRails generator view) -
- Start WEBrick of gelijk welke RoR server die je gebruikt en navigeer
naar
http://localhost:3000/Posts
(deze URL hangt uiteraard af van je benamingen en van de WEBrick poort die je gebruikt) -
Hoe werkt scaffolding?
- In het bestand config/database.yml voerde je alle gegevens in verband met je database in. Rails kan hierdoor verbinding met je database maken.
- Rails werd zo ontwikkeld dat het een model automatisch aan een database-tabel kan koppelen. De naam van de tabel waaraan het model gekoppeld wordt moet hiertoe steeds het meervoud zijn van de naam van het model (voorbeeld: als een tabel posts genoemd werd dan moet het model Post genoemd worden). Rails kan, indien een scaffold voor het Post model gestart wordt, zelf op zoek gaan naar de “posts” tabel, nagaan welke kolommen hij bevat (bijvoorbeeld id, title en post) en deze informatie doorspelen aan het “Post” model.
- Nu het model beschikbaar is, hoeft Rails enkel nog een controller
(die standaard actions bevat) en enkele standaard views te creëren:
index, list, show, new, create, edit, update, destroy.
Opmerking: Rails is slim genoeg om te weten welke invoermogelijkheden het voor welke gegevens moet voorzien in de view. Deze invoermogelijkheden hangen af van de datatypes van de gegevens (ingesteld in de database). Mogelijke invoermogelijkheden zijn: korte tekstinvoer, een lang tekstveld, een datum-kiezer of een datumtijd-kiezer.
Extra: ajax scaffolding.
Richard White is een web interface designer en Rails ontwikkelaar die op
zijn site een verbeterde
scaffold generator ter beschikking stelt: de Ajax Scaffold
Generator.
Deze is gebaseerd op dezelfde principes, maar de interface die
gegenereerd wordt maakt gebruik van Ajax en werd van een aangenamere
opmaak voorzien.
Om deze generator te gebruiken moet je hem uiteraard eerst
installeren:
gem install ajax_scaffold_generator
Daarna kan je gebruik maken van:
ruby script/generate ajax_scaffold…
In plaats van
ruby script/generate scaffold…
Reacties
Reageer
- RubyEnRails 2009 Amsterdam
- Apple wordt duurder in de UK
- Ruby on Rails op Mac OS X Leopard
- Ruby on Rails hosting: Phusion Passenger wordt populair
- Aankondiging: RidingRails Event
- Gratis Ruby on Rails boek
- Opruimen "Google Bladwijzers"
- Stopzetting OnRails.be - pt.1
- Rails hosting - de reacties
- Ruby on Rails hosting
- I'm Java, I'm Ruby on Rails
- Textmate voor Windows gebruikers
- Ruby adventskalender
- HappyCodr: Ruby on Rails Showcase
- Al 37 Ruby/Rails boeken...

ook geen reactie mee nodig
ggs 29 maart 2010, 22:20