おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

第31回rails勉強会にいってきました

今日はrails勉強会でした。昨日に続けて2連続勉強会。
今回は、named_scopeとi18nのセッションに参加しました。いつものようにメモ。

Rails' Wiki - Rails勉強会@東京第31回

named_scopeについて詳しく

もろはしさんがセッションオーナー。こちらに資料があります。あとでもう一度見ようっと。

named_scopeについてくわしく - moroの日記

named_scopeって?
  • with_scope*1で使っていた検索をクラスメソッドで定義できるようにした
  • findの条件に名前をつけることができる
  • メソッドチェーンで使える
    • メソッドチェーンで使っても、いくつもクエリが発行されるわけでなく最適化してくれる

こんな感じで使う

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じゃないアレ
動き方
  1. Scopeオブジェクトからfindメソッドが呼ばれる
  2. proxyなんちゃらメソッドが呼ばれる
  3. method_missing
  4. 親のproxyなんちゃらメソッド
  5. ...繰り返し...
  6. 一番親(ActiveRecord::Base)までいって実行

Rails2.2のi18nについて詳しく

まつださんの資料がブログに挙っているので貼っておきます。これを読めばセッションの内容はだいたいわかるかと。

Close to the EDGE Rails 2.2の I18nについてくわしく

まだまだこれからの機能だけど、きちんと整備されたら使えそうだなーと感じました。これから他言語対応なサービスを出すこともありそうなので、チェックを怠らないようにしておきたいです。あとgettextをこれまで使ってなかったので、試しに少し弄ってみようかなー

ライトニングトーク

志村さん

windowsRspec実行時の文字の色を見やすくする方法について。

Zerさん

Saikuroの紹介。ソースの複雑度を判定するツールのようです。とりあえずインストールして使ってみたけどいまいちよくわかりません・・・どういう風につかったらいいんでしょう。

Saikuro : A Cyclomatic Complexity Analyzer

よしみさん
  • jpmobileRails以外からも使えるように
  • gem の0.0.3がリリースされた

など。とりあえずインストールしてみました。ケータイ用のサイトも今度作りたいなーと思っているので、早めに弄っておきたいところです。

澤田さん

Tokyu.rbの活動報告。東急線沿線じゃなくても入会できるのかな?

まつださん

Asakusa.rbの活動報告。浅草周辺にはすごい人がたくさん。栃木の方が片道2時間かけてきたらしいけど、僕も行ったらそのくらいかかりそう。相模原--

雑感

  • 地域コミュニティが流行っているようで、その話題が出るたびに相模原の僕は肩身が狭いですねー
  • Niftyでは無線LANが使えるはずなのですが、なぜか無線LANがつながらない人が何人かいました。僕もそのうちの一人だったのですが、こないだ買ったe-mobileのおかげで華麗に回避。昨日の若手IT勉強会でもみんなで共有して使えたしe-mobile++。

おまけ(I18nとL18nの違いは?)

L18n
各国に対応した形式にコンテンツを整えること(文字を変えたり、画像を適切なものに差し替えたり)
I18n
L18nができるように環境を整えること

*1:レシピブック220p参照