環境
- rails(ruby2.1.0, rails4.0.3)
- mongoDB
rail4で開発していたら、ajax更新時に処理が複数回(2-4)発生する事案が発生しました。
ログを調査すると、コントローラーのメドッドが何度も呼び出されているので、asset piplineのjsが何か悪さをしているのかと思ったのですが、原因はTurbolinksでした。
Turbolinksの機能にはfetchReplacementというのがあり、これが画面遷移時に色々と悪さをしていました。
解決方法は単純でTurbolinksの機能をoffにするだけです。
個人的な意見を言うと、あまりTurbolinksを使うのはお薦めできません。なんでこの機能が標準装備なんでしょうか...
0 件のコメント:
コメントを投稿