У меня есть проект Rails, в котором перечислены продукты.У меня есть некоторый код JavaScript, который я использую для бесконечной прокрутки продуктов.Сейчас я добавляю функцию фильтрации, которая позволяет пользователю фильтровать продукты.У меня есть параметры в URL, которые говорят контроллеру, что фильтровать, и это работает нормально, но когда я прокручиваю до нижней части страницы, мой файл JavaScript делает AJAX-вызов для загрузки большего количества продуктов, но я не могу понять, какчтобы получить параметры из представления Rails в поле данных этого вызова AJAX.
Я пробовал этот код в представлении для назначения параметров переменной в JavaScript:
<%= javascript_tag do %>
var params = '<%= params.to_json.html_safe %>';
<% end %>
А затем мой AJAX-вызов для загрузки большего числа продуктов выглядит так:
$.ajax({
url:'/products/index.js',
type:'GET',
data:params
})
Проблема в том, что параметры, используемые при вызове действия контроллера Products, не отформатированы правильно.Вот как это выглядит в итоге:
Started GET "/products/index.js?{%22search_term%22:%22product%22,%22option_one%22:[%224%22],%22option_two%22:[%223%22],%22order%22:%22newest%22}"
Он заменяет кавычки в хэше params на% 22.Еще одна проблема, которую я вижу, это то, что option_one и option_two - это массивы, которые могут содержать несколько чисел.Я не уверен, будет ли это обрабатываться правильно.
Я не смог найти здесь вопрос с такой же проблемой.Спасибо!