Rails

default_scope と with_exclusive_scope

default_scopeを使うと論理削除を簡単に実現できる。たとえば論理削除したものは deleted_at に日時が入るという場合、 default_scope :conditions => ["deleted_at IS NOT NULL"] とすると、論理削除されていないものだけが取得できる。論理削除したものも…

コンソールで実行されたSQLを確認する方法

script/console でDBにアクセスした際に実行されたSQLを確認するには以下のようにする。 ActiveRecord::Base.logger = Logger.new(STDOUT)

ブロックを受け取れるヘルパー

入力フォームがたくさんあるシステムを作ってるとき、コピペしていくよりヘルパーにしちゃった方が楽だろうということで調べてみました。たとえば単にdivで囲みたいっていうとき <%= wrap_div("This is content given as parameter") %> #=> <div>This is content</div>…

RailsでのURLチェック

validates_format_of :url, :with => URI.regexp(['http', 'https']), :allow_blank => true これは便利

rspec & cucumber & spork でBDD環境を構築する

環境:Mac Snow Leopard (rubyはportでインストール済み) Railsをインストール sudo gem install rails テスト関連をインストール sudo gem install rspec rspec-rails ZenTest autotest-rails redgreen diff-lcs cucumber webrat mocha sporkをインストール…

RailsプロジェクトをSVNで管理するときのセットアップ

SVNにimport cd <project root> svn import -m "initial import" . <url> いまimportしたものをcheckout cd ../ svn co <url> <project name> ログファイルを削除 cd <project name> svn rm log/* index.htmlを削除 svn rm public/index.html svn:ignoreをセット svn propset -R svn:ignore "*" log svn propset -</project></project></url></url></project>…