Home > All > Railsでiphoneからのアクセスを振り分け

Railsでiphoneからのアクセスを振り分け

Rails2.3.3で確認
[追記1] set_iphone_formatにviewファイルを振り分ける記述を追記
[追記2]振り分けれてなかったので修正…

# config/initializers/mime_types.rb
# 以下の行のコメントを外す
Mime::Type.register_alias "text/html", :iphone

###
# application_controller.rb
  # iphone/ipod touchからのアクセスかどうか(ちょっと適当っぽい)
  def is_iphone_request?
    request.user_agent =~ /(Mobile\/.+Safari)/
  end

  # iphone/ipod touchだったらiphone向けに表示切換え
  def set_iphone_format
    if is_iphone_request?
      request.format = :iphone
    end
  end

###
# hoge_controller
  def index
    ...
    respond_to do |format|
      format.html
      format.iphone
    end
  end

こんな感じにしとくと、iphoneからのアクセスでは
views/layout/application.iphone.html.erb
views/hoges/index.iphone.html.erb
を描画してくれます

#iphone用のディレクトリを用意してそこに*.iphone.html.erbを全部ぶっ込んで使うにはどうすればいいんだろう…
#iphone用コントローラとか作りたくないし;

関連記事:

Tags: ,
  1. No comments yet.
  1. No trackbacks yet.