Rails 的 asset pipeline 在开发模式里会有一点诡异的行为。
如果 config.assets.debug = true 而 application.js 里引用了 jquery_ujs,那么 AJAX 提交时就会出现重复提交的现象,原因是 jquery_ujs.js 被载入了两次——一次是单独载入,一次是在 application.js 里载入。解法是把 config.assets.debug 设为 false。
如果需要调试 assets 的话,可以在页面 URL 里加入 ?debug_assets=true,效果等同于 config.assets.debug = true.