● [Rails] Rails2.2 の ActiveSupport まとめ Rails2.2 RC1 が出たので、淡々と変更点を追って見る。
● [Rails][Rails1.1] Module#alias_method_chain (Edge:4276↑) 既存メソッドを override する場合、以前のメソッドも呼び出すには alias または alias_method を用いて別名保存しておきます。 alias_method の例 この場合、次の人(ユーザなりプラグイン)が同様に alias をつけるときに重複してしまう可能性があります。そこで Rails では、名前の衝突をなるべく避けるために、拡張する機能名をメソッド名に追加する習慣になっています。 旧メソッド: "(メソッド名)_without_(機能名)" 新メソッド: "(メソッド名)_with_(機能名)" と名付けた上で、新メソッドに対して "(メソッド名)" という alias をつけるのです。
● 1. 一戸建てタイプ そのアプリ用に専用のマシンを準備できるケース。例えば、アクセス数が少ないβリリース時などは mongrel を直接80ポートで運用することもあるだろう。そして、負荷の増加、またはマルチコアを活かすという次の段階で、cluster 化した mongrel を扱う必要に迫られた場合、このタイプになる。この場合、フロントの仕事はバック(Rails)への割り振りだけだが、そのためにわざわざ Apache2 を持ち出すのは仰々しいと感じるかもしれない。そんな人にお奨めしたいのが Pound サーバだ。いきなり Apache から話が逸れてしまうが、このケースだとリアルでお奨めである。 Pound + mongrel Pound はリバースプロキシ用のWebサーバであり、特化しているだけあって、必要最低限かつ直感的で簡単な設定で済むため、敷居が低いのが魅力だ。それでいて、デジ
● pagination (簡単なページ管理) Webコンテンツで一覧表示時に「前のページ」「次のページ」といったリンクを作るのは結構面倒であるが、Rails には pagination というページ管理機能がある。ロジック(コントローラ)側では、テーブルのモデルを表すシンボル(必須)と表示条件等を引数に取りpaginate を呼び出すだけ。 # controller def list @pages, @items = paginate(:item, :per_page => 20, :order_by => 'itemcode') end 戻り値はページ管理オブジェクトと検索結果のモデルのインスタンスの配列。後者はAR::find_allと同じものであり、前者のページ管理オブジェクトがページに関する各種情報を持っているので、ビュー側ではそれを以下のように利用する。 # view <%=
● [rails] Migration データベースのスキーマ(変更)を管理する機能です。もれなくこんな特典がついてきます。 運用環境でアプリケーションのバージョンを上げるときに、スキーマ変更の漏れがなくなる。 共同開発者がいる場合、rake 一発で自分のところにスキーマ変更を反映できる。(svn update と rake migrate はワンセット♪) バージョンコントロールされるので、Migrationで管理している任意の時点のスキーマに戻すことが可能。 スキーマ変更は ActiveRecord::Migration のサブクラスを作って定義します。リビジョン管理していますので、各バージョン毎に1つのクラスを追加することになります。そのクラスの中で定義した up, down というクラスメソッドの内容が、それぞれアップグレードとダウングレード時の処理として実行されます。Rails
mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i386) using readline 4.3 Connection id: 36 Current database: staff2006 Current user: maiha@localhost SSL: Not in use Current pager: lv Using outfile: '' Using delimiter: ; Server version: 4.1.20 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client char
● [rails] Validations ある ActiveRecord オブジェクトの内部状態が期待する値かどうかを検査するのがvalidation 機能です。例えば、ある変数(状態)が、空値、決まった範囲、特定の正規表現にマッチ、であるかどうかといった検査を定義します。定義するには、ActiveRecord::Base#validate を override します。validate_on_create や validate_on_update などに関しても同様です。 validate_on_create: オブジェクトが新規に作成されたときにのみ実行されます validate_on_update: オブジェクトが更新されたときのみ実行されます validate: 新規・更新のどちらの場合でも実行されます validate と validate_on_* の両方が定義された場合は、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く