2014年3月28日金曜日

rails4 リクエストの二重送信が発生

環境

  • rails(ruby2.1.0, rails4.0.3)
  • mongoDB

rail4で開発していたら、ajax更新時に処理が複数回(2-4)発生する事案が発生しました。
ログを調査すると、コントローラーのメドッドが何度も呼び出されているので、asset piplineのjsが何か悪さをしているのかと思ったのですが、原因はTurbolinksでした。

Turbolinksの機能にはfetchReplacementというのがあり、これが画面遷移時に色々と悪さをしていました。
解決方法は単純でTurbolinksの機能をoffにするだけです。

個人的な意見を言うと、あまりTurbolinksを使うのはお薦めできません。なんでこの機能が標準装備なんでしょうか...

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...