link_to
で応答するレールにフォーム入力からパラメーターを追加しようとしてい.js.erb
ます。(わかりやすくするために、フォームを送信しようとしていません。) フォームは次のようになります。
form_tag players_path, method: 'get', id: 'my_form' do%>
<%= number_field_tag :min_age, params[:min_age], id: 'min_age' %>
<%= number_field_tag :max_age, params[:max_age], id: 'max_age' %>
<%= submit_tag 'go'%>
<% end %>
は次のlink_to
ようになります。
<%= link_to '70 lbs & Under', players_path(:min_weight => 0, :max_weight => 70), id: 'my_link', remote: true %>
私がやろうとしているのは、 の#my_form
パラメータとしての値を追加することです#my_link
。これを行うには、次のように jQuery を使用しています。
$(document).ready(function(){
$('#my_link').click (function(){
var parameterValues = $('#my_form').serialize();
$.ajax({
type:'GET',
url: $(this).attr('href'),
data: parameterValues,
dataType:"script"
});
return false;
});
});
これにより、フォームの入力値がパラメーターに追加されますが、どこから来たのかわからないlink_to
追加のパラメーターも追加されます。_
生成されたリクエスト URL は次のようになります。
http://localhost:3000/players?min_weight=0&max_weight=70&utf8=%E2%9C%93&min_age=0&max_age=22&_=1379588007864
最後のパラメータは_=1379588007864
どこから来たのですか? ajax リクエストでdataType
toを変更すると、パラメータが消えます。このパラメータを削除して、引き続きajax リクエストでJSON
使用するにはどうすればよいですか?dataType: "script"