Migrateの方法 †
構文 †参考URL: http://webos-goodies.jp/archives/50741819.html DBとHTTPヘッダの文字コードの指定(最近はUTF-8の場合は不要) †
というかアプリケーション全体をUTF-8で統一(最近は不要) †
emacs22のRailsモード †Syntax Error時の背景色の変更 †/.emacsに以下を追記 ;; for rails (the colors for syntax error) (custom-set-faces '(flymake-errline ((((class color)) (:background "DarkRed")))) '(flymake-warnline ((((class color)) (:background "DarkBlue"))))) Debianの環境を破壊しないrubygemsのインストール方法 †gem update --systemしてしまうと、ディレクトリ構造がまったく置き換わってしまうので、gem, rake, rails, Ruby-Gettextはdebの管理外にする。 間違って/usr/bin以下にファイルを置いてしまわないように、あえて、Root以外のユーザをOwnerとして gemやgemで提供されるソフトウェアをインストールする。
export GEM_HOME=/opt/gems/rubygems export RUBYLIB=/opt/gems/lib export PATH=/opt/gems/bin:/opt/gems/rubygems/bin:$PATH
これでgemのインストールはおしまい gemでライブラリやアプリをインストールするときには、常にgemsというユーザになり、gem install <package名>とすると、/opt/gems以下にライブラリや実行ファイルがインストールされるようになります。 gemsユーザにさえなっておけば、誤って/usr/bin等に間違ってファイルを作成してしまうこともなく、debianのパッケージ管理の環境を破壊しない。 また、passengerを使う場合、apache2の起動用スクリプトに変更を加える必要あり。(環境変数をわたす必要があるため) ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin RUBYLIB=/opt/gems/lib GEM_PATH=/opt/gems/rubygems" autotestの設定 †autotestの設定ファイル .autotest はプロジェクトのRAILS_ROOTに配置する。 .autotest (Rails標準のtest suiteを使用する場合) †ファイルの内容は次のとおり。 require 'autotest/redgreen' module Autotest::Notify folder = "~/Pictures/rails/" def self.notify title, msg, img, pri='low', time=3000 `notify-send -i #{img} -u #{pri} -t #{time} '#{title}' '#{msg}'` end Autotest.add_hook :red do |at| errors = at.files_to_test.map { |k, v| "#{k}:\n #{v.join("\n ")}"}.join("\n\n") notify "FAIL:", errors, folder+"rails_fail.png", 'critical', 10000 end Autotest.add_hook :green do |at| res = at.results.scan(/Finished.*failures/m).to_s.gsub(/\e\[32m/,'') notify "PASS:", res, folder+"rails_ok.png" end end 画像ファイル †/Pictures/rails/に、 rails_ok.png, rails_fail.pngを配置する。 jRuby環境でのtransactionのテスト †spec/spec_helper.rbの次の設定をfalseにしておかないと、transactionの箇所がRed判定になってしまう。(しかし、falseにすると、specの動作が遅くなるため、jRubyでの試験以外ではtrueにした方が良いかもしれない) # jRuby & rspec needs config.use_instantiated_fixtures = false for transaction test. config.use_transactional_fixtures = false |