質問: [やりたいこと] ・Ajaxを使って送信ボタンを押した時にフォームの値が消えないようにしたい。 [ながれ] index画面で検索に必要なフォーム入力(未入力可) 検索ボタン押下。 同画面に検索結果表示。 index画面ではindexアクションのみ行われます。 アクション内容はフォーム入力値を使った複合検索。 Ajaxを使うことで画面遷移がないため、フォームの値は残る。 ボタンクリックでアクションを走らせ、フォーム内容はPOSTで送信、検索結果を表示。という流れを目指してます。 自己解決しました。 お世話様です。
回答: ``` $('#search').on('click', function(){ var sendData = $('#form_search').serialize(); $.ajax({ data: sendData, url:'user/search', type:'post' }).done(function (returnData){ console.log('OK'); }); }); ``` ``` [html.erb] 大人 子供 検索 ``` 上記のコードにしたことで controller側から、paramsでフォームの値を受け取ることができました。 本来の質問である「フォーム内容の保持」はAjaxを使用する段階で解決しているようなので このまま解決ということにさせていただきます。