以前、railsでちょっとした日記みたいな物を作った事があるがこの時に'active_record'や'active_support'が非常に便利だと分かった。
なのでrails以外でちょっとしたWebアプリを作るときなんかもこれが使えると便利だなあ・・と思っていたんだが。
なかなか思うようにはいかなかった。具体的にはrbxやrhtmlのファイルの中で
require "rubygems" require "active_record"
こうすると"Internal Server Error"になってしまうのだ。
その後あーしたりこーしたりいろいろとやってみたのだが、結局うまくいかず自分の中では出来ないものとなっていたんだが、Webを調べていくうちに解決方法が分かった。
apacheの設定ファイルをちょこっといじれば済む話だった。 rubyの設定はhttpd.confとは別にmod_ruby.confとして
LoadModule ruby_module modules/mod_ruby.so
<IfModule mod_ruby.c>
RubyRequire apache/ruby-run
RubyRequire apache/eruby-run
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
Options +ExecCGI
</Files>
<Files *.rhtml>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
</Files>
RubyRequire auto-reload
</IfModule>
と、こんな内容になっているが
ここの
RubyRequire auto-reload
の部分をコメントアウトすればいいだけだった。
その後apacheを再起動。
これで
n = Time.new puts n.months_ago(1).at_beginning_of_month
こんなコードが動くようになった。
カレンダーを作る時なんかはすごく便利なんだよな'active_support'。
ただ設定ファイルをコメントアウトした事でどんな副作用が起きるのかはまた勉強しなきゃ駄目だが。
カテゴリ:
トラックバック(0)
トラックバックURL: http://blog.beanz-net.jp/beanz_mtos/mt-tb.cgi/34
コメントする