概要
タイトルの通りです。
ローカルで立ち上げたdevelopmentなRailsにiphone実機でアクセスしたい。コード修正する度にいちいちサーバにデプロイして確認なんて、いくらCapistranoとかで自動化しててもやりたくない。まぁよくあることですよね?
ngrokとか使う手もありますが、直接繋いでやった方が早いです。
上記ページにあるように、USBテザリングなり、WiFiスポットなりでつなげて、IP調べてiphoneから接続します。検証した事は無いですが、androidでも要点は一緒だと思います。
ですが、Rails4以降(かな?)、サーバ起動時のデフォルト設定が変わってしまったので、普通に
rails s
しただけでは、母艦上でブラウザアクセスする事は出来てもiphoneからは接続できません。
手順
rails s -b 0.0.0.0
以前はRailsがデフォルトで0.0.0.0でバインドしてくれていましたが。今はデフォルトでは127.0.0.1でバインドしている……のかな?
というわけで起動時に -b オプションを付けてやりましょう。
追記 2015/07/06
config/boot.rb で以下のように書いてやると、-bオプションいちいちつけなくてもイケルヨ、と教えてもらったので追記。
module Rails
class Server
alias :default_options_alias :default_options
def default_options
default_options_alias.merge!(:Host => '0.0.0.0')
end
end
end
注意点
運用は自己責任で!