2011-03-01から1ヶ月間の記事一覧

Railsのfind_by_sqlとSTIについて

STI 時に find_by_sql で返すインスタンスのクラスについて調べてみました。activerecord-1.13.2 と activerecord-2.3.11 で挙動を調べました。 activerecord-1.13.2/lib/active_record/base.rb 427 # Works like find(:all), but requires a complete SQL s…

Rails2系でuse_transactional_fixturesを使うときの注意

テストは正しいと思うのに、何故か落ちる現象になりました。調べていたら、MySQLのMyISAMテーブルで use_transactional_fixtures が true にしていたことが原因であることが分かりました。 activerecord-2.3.10/lib/active_record/fixtures.rb use_transacti…

Ruby CGIのオフラインモード

Rubyのcgiには、オフラインモードがあり、コマンドラインから簡単にcgiを試すことが出来ます。 オフラインモードを使ってみる まずは、下記の記述があるファイルを作成します。ファイル名は hoge.rb とします。 require 'cgi' cgi = CGI.new p cgi.params オ…

Symbolでconstantize

Rails の active_support/core_ext/string/inflections.rb で Ruby の String が拡張されて constantize が使えて便利です。 % script/console Loading development environment (Rails 2.3.11) >> "Hash".constantize => Hash >> :Hash.constantize NoMetho…