2

フォームに多くのフィールドがあるデータをrailsに保存したいと思います。実は、フォームにデータを入力しているときに、誤ってデータが失われてしまうのではないかと心配しているので、テキストフィールドからフォーカスを失った後、1つずつ保存したいと思います。天気はそれをするための宝石や方法があるのだろうか。

4

4 に答える 4

1

アヤックスが答えです。しかし、パフォーマンスについて考えてみてください。すべての属性がフォーカスを失った後にリクエストを送信すると、データベースとサーバーに複数のリクエストが送信されます..

于 2012-09-25T08:55:13.557 に答える
1

Sisyphus jquery を試してみましょう。データをローカルに自動保存します。

http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/

https://github.com/dnoonan/sisyphus-rails

于 2012-11-19T07:54:41.620 に答える
0

新しいデータをサーバーに送信するために、Gem は必要ありません。単純に jQuery を使用できます (もちろん、jQuery には gem を使用できます)。更新コードをフィールドのぼかしイベントにフックするだけです。

$(document).on('blur', 'input[type=text]', function(e){
  post_data = {}; //prepare your data here
  $.post(UPDATE_URL, post_data, function(response_data){
     console.log(data)
  })
})

テキスト フィールドを編集すると (必要に応じてクエリに他のフィールドを追加できます)、更新された DATA がサーバーに送信されます。使用できるように、UPDATE_URL を入力する必要があります。ただし、投稿リクエストを行うには csrf_token_name と値も必要です。それらをpost_dataに追加します。方法が見つからない場合は、おそらく私がお手伝いします。

于 2012-09-25T06:52:40.027 に答える