2009-10-01から1ヶ月間の記事一覧

HashでArray#map!(collect!)のようなことを実現する

意外とハマったのでメモ。 例えば、配列の各要素を数値から文字列に変換したいと思ったら、map!(collect!)メソッドを使って実現できます。 array = [1, 2] array.map!{|item| item.to_s} #=> ["1", "2"] では、これと同様のことをハッシュで行う(各キーに…

WEBデザイン ユーザビリティ

そういえばWEBアプリのリデザインを担当したことがあり、そのとき読んだ本のメモが出てきたので、まとめました。 実際に読んだのはこちらでしたが、現在は改訂版が出ているようです。 ユーザビリティ ユーザビリティの基本概念 有効さ(なにかを目的として操…

子コントローラで特定のフィルタを無効化する

親コントローラで定義した before_filter / after_filter はすべての子コントローラに継承されますが、「この子コントローラではフィルタを外したい」ということがあります。 これは skip_before_filter / skip_after_filter を使って実現でき、オプション(…

コールバックメソッドのカプセル化

複数のテーブルの任意のフィールドにおいて、レコード保存時に同一の処理を行いたかったので、before_saveメソッドをカプセル化するハンドラを作成しました。 共有したいコールバックメソッドを定義したハンドラクラスを、app/models下に作成 class Hoge def…