plugin

ActiveRecord::Base#to_xmlをキャッシュ

to_xmlが遅いので適当に作ってみた。developmentモードではキャッシュ無効。 ただし memcache-clientが必要。 :builderオプションが渡されたときは、キャッシュを使わない。(Entry.find(:all).to_xml とか) Rails 2.0.2でしか試してない。 無保証。 インス…

JpMailerプラグイン

これはなに? ActionMailer:Baseのサブクラス。 日本語のPC用のメール及び携帯電話用のメールを送る際に便利かなぁというもの。 動作環境 Ruby 1.8.6 ActionMailer 2.0.x gettext/railsと共存できません([http:/d.hatena.ne.jp/taslam/20080311/1205830007:…

gettext/railsと共存

gettext/rails.rb内で、ActionMailer::Base#create!を変更している影響でこのままでは正しいメールを送信できない。 とりあえず以下のように、メソッドチェインからgettext/rails.rbでの拡張を外せば動く。 require 'gettext/rails' class ActionMailer::Bas…

ScopedAccessが動かない

(><;) 便利なのに残念なんです!!! (∩∩) v v舞波 >多分 DHH が with_scope に意地悪したからです>< >修正は send にするだけだと思うので時間を見てコミットします>< Ruby on Rails入門優しいRailsの育て方作者: 西和則出版社/メーカー: 秀和シス…

STIでのトラブル

acts_as_cachedは便利だが、モデルで継承(STI)を使っている場合、扱いに注意必要。たとえば、 class RealEstate < ActiveRecord::Base acts_as_cached end class Land < RealEstate end class Building < RealEstate end ってモデルがあって、 # インスタ…

「クレイジー」なキャッシュ

yoshitetsuの日記:acts_as_cachedを使うを参考に導入してみた。 @categories = Category.get_cache(:all) do Category.find(:all, :order => 'index') end ブロックを渡すと、ブロックの戻り値をキャッシュします。 # acts_as_cached.rb # key はget_cacheの…

timed_fragment_cache

Railsは重い! これは事実。大規模なフレームワーク、高度な抽象化は重いもの。 キャッシュを活用しないとやってられません。でも、キャッシュ使ってると思うのが、失効処理の複雑さ。 Sweeperを使うったって、モデルの変更で失効させないといけないところが…