1

レールコードを使用:

= button_to "-", availability_time_span_path(ts) ,:method  =>  :delete, :remote  =>  true

ajax経由で投稿する必要があるhtmlフォームを生成します。

<form action="/availability_time_spans/175" class="button_to" data-remote="true" method="post">
  <div>
    <input name="_method" type="hidden" value="delete">
    <input type="submit" value="-">           
    <input name="authenticity_token" type="hidden" value="n962qRxizeXeoEwWYv2AlMfT4nKxxp9ITUxm5wp1nZo=">
  </div>
</form>

送信ボタンをクリックすると、2回投稿されます。1 回目: jquery.js:8417 の text/javascript 、2 回目: その他の text/html

4

2 に答える 2

1

解決した

問題は、以前 ajax を使用してコードを挿入したことでしたが、レンダラーはレイアウトで応答したため、jquery 全体が 2 回目の初期化されました。

respond_with @ra

レイアウトなしで ajax 呼び出しへの応答をレンダリングすると、問題ありません。

respond_with @ra, :layout => false 
于 2012-10-25T07:52:59.377 に答える
0

これは、いくつかの理由で発生する可能性があります

  1. ブラウザに Javascript がキャッシュされている可能性があります。キャッシュをクリアするか、別のブラウザでページを開いてください。
  2. プリコンパイルされたアセットを提供している可能性があります。config.serve_static_assets = false構成ファイルにあることを確認してください。
于 2012-10-24T14:18:15.410 に答える