編集: JavaScript で load を使用することについて言及しました。サーバーへの2回の往復を行っているため、通常はこれを避けます。1) 作成 2) html を取得して div にロードします。さらに、エラーが発生した場合、それが何であれ、「良いこと」を見つけて実行することはより困難になります。
remote: true オプションをフォームに追加したら、サーバー側で何が起こるかを処理する必要があります。
REST を使用すると仮定すると、create アクションを含むコントローラーが作成されます。通常、このメソッドはアイテムを作成し、続いて作成ページの HTML を返します。これの代わりに、アクションの JavaScript ビューを作成する必要があります。これにより、このアクションがヒットしたときに何をすべきかを呼び出しページに伝えます。
フォームに「new_record_form」という div があり、「new_records」という別の div があるとします。フォーム内のフォーム要素を空白にして、効果的にリセットする必要があります。また、新しいレコードを「new_records」div に追加することもできます。
新しいレコード div にレコードを追加するには、次のようにします。
$("#new_records").append("#{@new_record.name}");
フォームを送信すると、これが追加されているはずです。問題をデバッグする優れた方法の 1 つは、インスペクターを使用することです。クロムを使用している場合は、任意の場所を右クリックし、要素を調べてネットワークを選択します。これはフォーム送信前に行ってください。ajax 呼び出しと応答を確認できます。あなたのログも役に立ちます。
フォームも空白にすることを忘れないでください。
注: すべてのページが ajax であるとおっしゃいましたが、さまざまな問題が発生するため、これが 100% 妥当かどうかを評価することを強くお勧めします。これが主題に関する最高の記事であるとは言いませんが、読む価値があるかもしれません.