UA(User Agent)とは、ネット利用者がアクセスしてきた時に利用している端末やOSのことを指します。
例えば、あなたがiPhoneでこのサイトにアクセスしてきたら、
「このアクセスのUAはiPhoneですね!」となる訳です。
エンジニアであれば、「このサイトをiPhoneでアクセスしたとして検証したいなー」と思ったりすることがあります。
そういう時は、ChromでUAを偽装することができます。
Chromでの偽装UAの方法はこちら!
ChromでのUA偽装の方法
検証ツールを開く
マウスであれば右クリックして「検証」をクリック。
Macであれば、二本指でパッドをタップして、「検証」をクリック。
Network conditions を開く
検証ツールにある三点リーダー > More tools > Network conditions をクリックして開く。
UAを選択する
「Use browser default」にデフォルトでチェックが入っています。
チェックを外しましょう。
チェックを外したら、直下のセレクトボックスでUser agentを選べるようになります。
iPhoneが良いなら、「Safari ー iPhone iOS ○○」を選べば、
iPhoneからアクセスしたとして検証できますよ!
ちなみに、rails ではUAの値によってviewを切り替える方法がいくつかあります。
一つをご紹介しますね!
railsでのUAの値によるviewの出しわけ
railsでは、コントローラー内で request.user_agent
とすることで、UAの値を取得できます。
そして、 request.variant
に値を入れることで、その値のviewテンプレートが自動で表示されます。
例えば…以下のようにコードを書きます。
request.variant = :mobile if request.user_agent =~ /iPhone/
そうすると、UAがiPhoneだった場合に、request.variant
の値に:mobile
が格納されます。
このアクションに対応するviewがindex.html.erbだった場合、
iPhone用として表示されるのは、index.html+mobile.erb
です。
ファイル名に「+」がついているのは違和感があるかもしれませんが、
variants機能ではこのファイル名を参照して出し分けしてくれます。