[jpmobile:75] jpmobileとアクションキャッシュ

50 views
Skip to first unread message

DIGITAL SQUAD Tahara

unread,
May 6, 2010, 9:06:19 PM5/6/10
to jpmobile
現在運用中のサービスのパフォーマンスを改善したいと思い、
アクションキャッシュを導入しようとしています。

そのままキャッシュしてしまうと、PCで携帯用のビューが表示されたり
逆に携帯でPCのビューが表示されたりしたので、cache_pathを指定して
PC、各キャリア毎に
コントローラー名/アクション名_端末名(pc,docomoなど)というパスでキャッシュしています。

一応コードはこんな感じです。

■アクションキャッシュするコントローラー
class HogeController < ApplicationController
caches_action :index, :cache_path => Proc.new { |app|
caches_action_by_request(app)}
・・・
end

■jpmobile/filter.rbに追加
class ActionController::Base
def self.caches_action_by_request(app)
#コントローラー名/アクション名_端末名でアクションキャッシュ
cache_path="#{app.params[:controller]}/#{app.params[:action]}_"
if app.request.mobile?
case app.request.mobile
when Jpmobile::Mobile::Docomo
"#{cache_path}docomo"
when Jpmobile::Mobile::Au
"#{cache_path}au"
when Jpmobile::Mobile::Jphone
"#{cache_path}softbank"
when Jpmobile::Mobile::Softbank
"#{cache_path}softbank"
end
else
"#{cache_path}pc"
end
end
end

これでとりあえずPCと各キャリア別にビューの振り分けができるようには
なったんですが、冗長な気がします。
実はもっといい方法があるとか、あるいはコードをこうした方がよいとかがあれば、
教えていただけませんか。

よろしくお願いします。
━━━━━━━━━━━━━━━━━━━━━━━━━
Satoshi Tahara
http://digital-squad.net/
http://blog.digital-squad.net/
http://twitter.com/DIGITALSQUAD
━━━━━━━━━━━━━━━━━━━━━━━━━

--
このメールは Google グループのグループ「jpmobile」の登録者に送られています。
このグループに投稿するには、jpmo...@googlegroups.com にメールを送信してください。
このグループから退会するには、jpmobile+u...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/jpmobile?hl=ja からこのグループにアクセスしてください。

Shin-ichiro OGAWA

unread,
May 17, 2010, 5:39:12 AM5/17/10
to jpmo...@googlegroups.com
小川と言います。

返信が遅くなりました。

> これでとりあえずPCと各キャリア別にビューの振り分けができるようには
> なったんですが、冗長な気がします。
> 実はもっといい方法があるとか、あるいはコードをこうした方がよいとかがあれば、
> 教えていただけませんか。

キャッシュがアクション単位で保存されているのであれば、
たぶんいまやられている振り分けがいいのではと思います。

そう言えばあまりキャッシュについては意識していませんでした。
この手法を参考にさせていただいて、すこし考えてみます。

--------
小川 伸一郎 (Shin-ichiro OGAWA)
rust....@gmail.com
GPG ID 94B70E36 / 75360751
fingerprint: {C64E 9826 8A75 723E DE54 / 70A8 F623 220C 94B7 0E36}
http://stnard.jp/
http://twitter.com/conceal_rs/
http://iddy.jp/profile/rust/



2010/5/7 DIGITAL SQUAD Tahara <ds.po...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages