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)