タグ

ブックマーク / moro.hatenadiary.org (3)

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

    先日の金曜日に、社内でnamed_scopeの勉強会をやりました。 RubyKaigiで松田さんがしゃべった話がたいそう面白かったので、実際にnamed_scopeの実装を見てみよう、というテーマです。 | View | Upload your own 調べて改めて思ったんですが、これはまたよくできてますね。 method_missingを活用しまくっているという意味ではいつもの「イヤな予感」がするんですが、使い方がキレイで脱帽です。このあたりの「味わい」はスライド後半のコールシーケンスをご覧ください。複雑なことをやっているんですが、一度わかるとものすごく腑に落ちる感じが、何ともうまいですよね。うん。 今回取り上げたのはリリース版(AR2.1)のnamed_scopeですが、現時点でもいろんな機能が追加されてますのでまた先々も楽しみです。Railsレシピブックも改版する機会があったら(今回

  • Rails 2.0のセッション話 - moroの日記

    Rails 2.0はセッションはCookieに入れる、というのを読んで*1Cookie-sessionなんじゃらほい、と思ったのでちょっとソースを見てみました。 「ふつう」セッションに入れるようなちょっとしたデータは4K制限のあるCookieでも十分のはずだよねぇ、ということでセッションにいれる情報をMarshalしてCookieに入れちゃいましょう、というのがこの方式のポイントです。 で、Cookieに入れるっていうとユーザが自由自在にいじれるわけで、信用していいんだっけ?というのが気になったわけです。 見てみた結果はまぁ大丈夫そう。データに突っ込んだ内容とそのdigestの両方をCookieに入れて、受け付けたときはそれを検証するという手順になってるみたいです。digestを生成するときはsecretも必要になりますが、それがconfig/environment.rbで指定することにな

    Rails 2.0のセッション話 - moroの日記
  • 2007-10-17

    こんな感じになるということなんですかね?という試行錯誤。 悪くないとは思うんですが、慣れるまでは大変そう。 なんていいながら実はけっこうクラス内でwith_scopeするのは好きなんですけどね。 class Blog < ActiveRecord::Base has_many :entries end class Entry < ActiveRecord::Base belongs_to :blog validates_presence_of :title, :body, :null => false class << self def find_with_deleted_flag_skip(*args) with_scope(:find=>{:conditions=>{:deleted=>false}}) do find_without_deleted_flag_skip(*args)

    2007-10-17
  • 1