たとえば、このRailscastのように、またはCocoonを使用して、Javascriptで動的に生成されたフィールドでgarlic.jsを機能させるにはどうすればよいですか?ネストされたフィールドにjsファイルを部分的に明示的に含めようとしましたが、うまくいきませんでした。
= javascript_include_tag 'garlic'
.nested-fields
= f.inputs do
= f.input :client_id #etc
たとえば、このRailscastのように、またはCocoonを使用して、Javascriptで動的に生成されたフィールドでgarlic.jsを機能させるにはどうすればよいですか?ネストされたフィールドにjsファイルを部分的に明示的に含めようとしましたが、うまくいきませんでした。
= javascript_include_tag 'garlic'
.nested-fields
= f.inputs do
= f.input :client_id #etc
DOMにロードされた後、これらの動的フィールドに対して明示的にGarlicを呼び出そうとしましたか?
$( '#yourloadeddiv' ).garlic();
問題は、ブラウザをリロードまたは再起動するたびに、get
リクエストedit/new
がサーバーに提供されるため、それぞれのビューファイルで静的なフィールドにデータが読み込まれ、動的に追加されたフィールドが失われることです。したがって、データは常に失われます。garglic.jsが、ページの読み込み時にDOMになかったフィールドにデータを追加するかどうかはわかりません。
これを回避する方法は、jqueryストレージAPIを使用することでした:https ://github.com/julien-maurel/jQuery-Storage-APIは、フォームの状態を保存するためにニンニクを呼び出すことに加えて、動的に生成されたフォームのHTMLを永続化します。
ページの読み込み時に、永続化されたフォームがローカルストレージに存在するかどうかを確認します。含まれている場合は、htmlをform要素にロードしてから、garlicを呼び出してフォームの状態を復元します。