Praktisk
- Hvor kan vi teste ut Ruby og webprogrammering?
- Oppdatert versjon av Ruby er innstallert på
taylor.pvv.ntnu.no
med flere av de aktuelle bibliotekene, så som MySQL, dbi og druby. - Hvordan bruker vi det?
-
Vel innlogget på
taylor
(via f.eks. SSH) kan dere teste Ruby-programmene deres, samt legge dem opp på hjemmeområdet deres for testing. Legg filene under~/web-docs/cgi-bin/
, gjør dem les- og kjørbare for alle og surf til sidene deres på
http://taylor.pvv.ntnu.no/~brukernavn/cgi-bin/skriptnavn.rb[x|html]
- Hvilken
#!/path/til/ruby
skal vi bruke? -
Det er installert egen Ruby-fortolker på taylor da nåværende versjon i store ikke er helt frisk. Shebang-linjen blir da
#!/usr/bin/ruby
og ikke som vist i eksemplene. Dette har ingen betydning for kursdagen, da taylor foreløpig er satt opp til å kjøre .rb-filer i mod_ruby også. Derfor har shebang-linjen lite betydning på taylor, foreløpig. Derimot gjør det at .rb-filer kan ende opp med flereContent-type
-hodelinjer. - Hvorfor printes
Content-type: text/html
ut i dokumentet mitt? -
Når man kjører Ruby-skript som CGI-skript, må man angi innholdstypen selv.
Dette gjør derimot mod_ruby for deg, så dersom du selv skriver den ut eksplisitt, vil
den komme to ganger (og en av dem vil havne i teksten).
I mod_ruby settes content-type med
Apache.request.content_type=
- Sesjoner fungerer ikke?!
-
Dette testa vi dessverre ikke godt nok på forhånd. Alt kjøres via mod_ruby, og da er det to ting å huske på som er viktig. 1) lukk sesjonen og 2) pass på at det kommer en header ut som setter den identifiserende cookien:
cgi.header; session.close
Håper dette hjelper. (Se forøvrig mod_ruby sin FAQ Programming Ruby dokumentasjonen til CGI) - Jeg foretrekker Windows.
-
For å slippe å innstallere Ruby selv for å få testet ut kodesnutter, er det lagt opp en installasjon som kan brukes fra
ruby.no
. Map opp\\ruby.no\webnuby\
til stasjonR:
med brukernavnwebnuby
og passord [...] (spør på datasalen) så skal det være mulig å kjøre Ruby-kode via både IRB (R:/program/ruby/bin/irb.exe) og SciTE-editoren (R:/program/ruby/scite/SciTE.exe). (Dobbeltklikking på .rb-filer vil ikke fungere.)