10
3 月
09

Ruby on Rails で モバイルに対応する。

簡単にwebアプリを作れる。Ruby on Rails
こいつで携帯電話に対応したアプリを作れたら最高じゃないか。
というわけで、携帯対応のプラグイン「jpmobile」っていう便利なプラグインがあります。
こいつは、ややこし日本の携帯電話の鬱陶しいいざこざをすべて吸収してくれて、これさえあれば携帯対応なんて
めっちゃ簡単。

というわけでは、無かったでした。
たしかに、すばらしい機能もたくさんあるんですが、若干肩すかしを食らった気分でした。

このままでは、認証機能を使う事ができません。
なぜか、
それは、railsがcookieを使ってセッションを管理しているためです。
とうわけで、最初にセッションをアクティブレコードで管理するようにチューンナップ。

具体的な手法は
enviroment.rbを編集。に
config.action_controller.session_store = :active_record_store を追加
contoroller > application.rbの
protect_from_forgery # :secret => '暗号なのよ' を書き込む。(暗号なのよは適切に書き換えて。)
の「#」を解除

さらに、テーブルを用意してあげないと行けないので。
rake db:sessions:create
rake db:migrate
を実行。

これで、セッションDBが完成です。

じゃぁ、これで、完成なのか。いえ違います。最後の仕上げが待ってます。
またもや、
contoroller > application.rbを開きまして、

include AuthenticatedSystem
session :cookie_only => false
transit_sid
before_filter :set_content_type

protected

def set_content_type
headers["Content-Type"] = ((request.mobile?) ? “application/xhtml+xml; charset=Shift_JIS” : “text/html; charset=UTF-8″)
end

を追加して完成です。
これで、携帯にて認証機能も使用可能であり、
携帯電話に対応できます。

あとは、自由にビューでもコントローラでも作っちゃってください。
以降、最新版で対応される可能性もあります。

そのときはこれはただのゴミになるでしょう。
しかし、これを読んで役に立ったと言ってくれる人が一人いれば私たち開発人はハッピーになれます。
世界中のプログラマは兄弟だ。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加




  1. 1    ユ 9 月 24, 2009 at 11:14 am

    最後の一言、すごく気に入りますね。。
    有難うございます。