
= amritaCGIǻȤ

== ά

ΥɥȤϡĤΥץ򼨤amritaCGIǻȤˡޤ
ץȤƥ֥åޡΥƥȤޤ

ΥץϲURLǥǥ⤷Ƥޤ

http://www.walrus-ruby.org/amrita/

== ǥ륯饹

ǽ˥ǥ륯饹ޤ

  :include: sample/cgi/bmmodel.rb

+Item+ Ȥ饹ϥ֥åޡιܤбޤ
Υ饹ˤϡgroup, name, url. Ȥ3ĤΥȥӥ塼Ȥ¸ߤޤ

+BookmarkList+  +Item+ νޤǤ
롼פȤˤĤ +Item+ ݻƤơ
ե¸ɤǤޤ

Υǥ륯饹HTML˴ؤޤǤޤ
ΤᡢźդΥƥȥץȤΤ褦˴ñ˥˥åȥƥȤ򤹤뤳ȤǤޤ

== bookmark.cgi

bookmark.cgi ϥ֥åޡɽơȥ꡼ϤĤޤ

=== ƥץ졼ȥե

bookmark.cgi ϤΥƥץ졼ȤѤޤ

  :include: sample/cgi/bookmark.html

=== 

줬 bookmark.cgi ΥɤǤ

  :include: sample/cgi/bookmark.cgi

=== եǤ

ܤϤΥ롼פϡ
ǸϤ롼̾ǥեȤꤵƤޤ
νԤʤäƤΤϤǤ

    :form => {
      :group_sel=>e(:select, :name=>"group_sel") {
        groups.collect do |g|
          if g == selected_group
            e(:option, :value=>g, :selected=>"selected") { g }
          else
            e(:option, :value=>g) { g }
          end
        end
      },
    }

ΥɤʲHTMLޤ

   <td>
     <select name="group_sel">
       <option value="BBS">BBS</option>
       <option value="Script Languages" selected="selected">Script Languages</option>
       <option value="TestXSS">TestXSS</option>
     </select>
   </td>

HTMLƥץ졼 +group_sel+ бޤ

=== ѥѤ

  Amrita::TemplateFileWithCache::set_cache_dir(CACHE_PATH)
  tmpl = Amrita::TemplateFileWithCache[TEMPLATE_PATH]
  tmpl.use_compiler = true
  tmpl.expand($stdout, make_model_data(bm,group))

Amrita::TemplateFileWithCache  Amrita::TemplateFile 
ѥ뤵줿ɤ򥭥å夷ƺѤ뵡ǽɲäΤǤ

+CACHE_PATH+ +TEMPLATE_PATH+ б륭åǡ¸ߤ
ƥץ졼Ȥ꿷СΥѥ뤵줿ɤưŪ˺Ѥޤ

<em>ա Υǥ쥯ȥ¾Υ桼Ǥʤ褦˳μ¤ꤷƤ</em>

ΥСǤϡamritaϥåƤåޤ
⤷amritaǤդΥɤ¹Ԥ뤳Ȥǽˤʤä˴Ǥ

εҤǤʤϡ<tt>TemplateFileWithCache::set_cache_dir</tt>ϻѤʤǤ

---

== Amrita Script CGIǻѤ

AmritaScriptǽ񤫤줿֥åޡɽץǤ

  :include: sample/cgi/bookmark.ams

apache۲Ǽ¹Ԥˤ

  * httpd.conf<tt>AllowOverride FileInfo</tt>  <tt>Options ExecCGI</tt> +cgi-bin+ ǥ쥯ȥꤷƤ

  * bin/amshandler򤽤Υǥ쥯ȥ˥ԡƤ

  * .htaccess ˰ʲεҤɲäޤ

    AddHandler amrita-script ams
    Action amrita-script /amrita/cgi-bin/amshandler

---

== bookmark.cgi  mod_ruby ǻѤ

bookmark.cgi  mod_ruby۲Ǽ¹Ԥ뤳ȤǤޤ
httpd.conf˲λԤʤäƤ

  LoadModule ruby_module /usr/lib/apache/mod_ruby.so
  RubyRequire apache/ruby-run

  Alias /amrita/cgi-bin/ /home/tnaka/cvswork/amrita/sample/cgi/

  <Location /amrita/cgi-bin>
    Options ExecCGI
    SetHandler ruby-object
    RubyHandler Apache::RubyRun.instance

    SetEnv AmritaCacheDir /tmp/bookmark # be careful
  </Location>

