今日はrails勉強会でした。昨日に続けて2連続勉強会。
今回は、named_scopeとi18nのセッションに参加しました。いつものようにメモ。
named_scopeについて詳しく
もろはしさんがセッションオーナー。こちらに資料があります。あとでもう一度見ようっと。
named_scopeって?
例
こんな感じで使う
named_scope :active, :condition => ["deleted = ?", false]
あとProcで渡したり、ブロックを渡して、その中にメソッドを定義したりできるそう。
tips
- 後で使われた順からwith_scopeを使う
- where句はandで結合される
- conditionはカスケードされるけど、limitとかはカスケードされない。(最初に書いた方が優先?)
- ActiveRecord::Base.scopes()は定義されているscopeを返すメソッド
- ActiveRecord::Base.named_scopeはScopeオブジェクトを作るProcを作るメソッド(ややこしい)
- ScopeオブジェクトはArrayのようでArrayじゃないアレ
動き方
- Scopeオブジェクトからfindメソッドが呼ばれる
- proxyなんちゃらメソッドが呼ばれる
- method_missing
- 親のproxyなんちゃらメソッド
- ...繰り返し...
- 一番親(ActiveRecord::Base)までいって実行
Rails2.2のi18nについて詳しく
まつださんの資料がブログに挙っているので貼っておきます。これを読めばセッションの内容はだいたいわかるかと。
Close to the EDGE Rails 2.2の I18nについてくわしく
まだまだこれからの機能だけど、きちんと整備されたら使えそうだなーと感じました。これから他言語対応なサービスを出すこともありそうなので、チェックを怠らないようにしておきたいです。あとgettextをこれまで使ってなかったので、試しに少し弄ってみようかなー
ライトニングトーク
Zerさん
Saikuroの紹介。ソースの複雑度を判定するツールのようです。とりあえずインストールして使ってみたけどいまいちよくわかりません・・・どういう風につかったらいいんでしょう。
よしみさん
など。とりあえずインストールしてみました。ケータイ用のサイトも今度作りたいなーと思っているので、早めに弄っておきたいところです。
澤田さん
Tokyu.rbの活動報告。東急線沿線じゃなくても入会できるのかな?
まつださん
Asakusa.rbの活動報告。浅草周辺にはすごい人がたくさん。栃木の方が片道2時間かけてきたらしいけど、僕も行ったらそのくらいかかりそう。相模原--
雑感
*1:レシピブック220p参照