##環境
Rails 5.2.4.4
##起こったこと
デプロイ後、PCでは問題なく動くのに、iPhoneを使うと挙動がおかしくなりました。
原因発見にかなり時間がかかりましたので共有します。
まずは、具体的な事象を記載します。
- Deviceで実装したユーザー登録画面にiPhoneでアクセスすると画面が真っ白に
- 標準出力を見ると何度も同ページでリロードが行われている
- エラーメッセージは出力されず
- リンクからのアクセスではなく、URL直打ちの場合はアクセスできる
※ここが原因発見の鍵になりました。
##原因
結論から申し上げますと、ターボリンクスが影響していました。
ページ遷移の高速化のため、Rails4から標準で搭載されています(application.jsに記載があります)。
JQueryの挙動に影響があるという記事も多いですが、
スマートフォンで、入力フォーム等のページへ遷移する際にエラーが起きる場合があるようです。
##解決策
_header.html.erb
<%= link_to "新規登録", new_user_registration_path, data: {"turbolinks" => false} %>
念のためログインページ等フォームが絡むページにも記載。
該当のリンクにターボリンクス無効化の記載をすれば問題なくアクセスできるようになりました。