Re: eruby
Tobias Pape <[email protected]> 06 Apr 2003 13:12:26 +0200
| Newsgroups | gmane.comp.lang.ruby.german |
|---|---|
| Message-ID | <1049627546.4749.37.camel@TobiasPC> |
Am Son, 2003-04-06 um 01.32 schrieb Andi Scharfstein: > > Das hat mich jetzt eine halbe Stunde gekostet, ich garantiere aber > nicht für Wahrheitsgehalt der erworbenen Informationen. > > -- > Gute Nacht: Andi S. mailto:[email protected] > Aber ich... sorry, das ich mich so verquarst ausgedrückt hab... ich meinte einfach, das ERuby mit den Params nichts am hut hat.. es ist eher mit embeddedPerl zu vergleichen.... Also, ich rekapituliere: * eRuby ist dafür verantwortlich, das jedes statement zwischen <% %> oder % am anfang der zeile ausfeührt wird, _und zwar von Ruby selbst_ * eRuby führt <%= %>-tatements so aus, dass der output des selbigen direkt eingefügt wird. * Parameterübergabe funktioniert perlähnlich, bzw. rb-script-ähnlich, d.h. über die Klasse CGI. * Parameter können in Ruby über ein CGI-Objekt abgerufen werden (unählich zu PHP) * Die eRuby-Klasse stellt _nur_ noch eine Funktion zum einbinden weiterer Dateien zur verfügung (HTML,rHTMl oder Ruby) Bsp: -------8<------8<-------test.rhtml--- <% # -*- mmm-classes: eruby -*- ein Beispiel für eruby ,mit parametern require 'cgi' # oder cgi-lib? (sieher früheres Posting) %> <% ERuby.import("std_header.html") # fast die einzige methode, die erubx bereitstellt %> <% mycgi = CGI.new # neues cgi-objekt if mycgi.params.has_key?("data") # haben wir nen parameter bekommen? # ja: %> <p><%=mycgi["data"]%></p> <% else #nein, wir haben nichts bekommen, also wollen wir das... %> <form action="test.rhtml" method="post"> <textarea name="data"> </textarea> <input type="submit" value="ab damit" /> </form> <% end #ende des if-blocks ERuby.import("std_foother.html") %> ------->8------>8-------test.rhtml--- Ausgabe ohne Params: +--------------------------------------+ | | | +-----------+ | | | | | | | | [ab damit] | | +-----------+ | | | +--------------------------------------+ bei parametern, oder eingegebenen text+absendebutton gedrückt: +--------------------------------------+ | | | Hallo | | | +--------------------------------------+ aber nur, wenn wenn wirklich Hallo eingegeben wurde ;-) , ODER die URI so aussah: ????/test.rhtml?data=Hallo das mit der URI etspricht aber der GET-methode vom HTTP-Protokoll, das über die Form der POST-MEthode.. Hoffe geholfen zu haben. -Tobias -- Tobias Pape http://www.krono.dyndns.org (noch STARK im Aufbau)