Есть пара JS и Rails способ сделать то, что вы хотите. Я могу придумать быструю и простую, используя только рельсы: перенаправление получаемого вами URL на другой маршрут с разбором данных по вашему желанию. Вот так ->
Предполагая, что это ваш маршрут к путь_проекта : get 'project', to: 'project#reroute', as: :project
Вы можете go к вашему reroute
методу в project
Контроллер и проанализируйте полученные данные.
project_controller.rb
class ProjectController < ApplicationController
def reroute
redirect_to your_path(categories: params[:categories].join(','))
end
end
Это преобразует ваш массив категорий в строку с вашими значениями, разделенными запятыми. Это больше не массив. и он также удаляет "& commit = Submit", как вы и хотели.
Если вам не нравится метод маршрутизации rails, вы также можете сделать кнопку отправки для запуска некоторых JS функции, которые создают строку URL, как вы хотите. Например, <%= submit_tag , :onclick => "return buildUrl();" %>
С учетом вышесказанного, я должен сказать, что согласен с комментарием Эдварда, кодированный в формате url формат является стандартным и работает "из коробки", не требуя дополнительной маршрутизации и анализа. Я уверен, что все, что вам нужно для данных, может быть использовано с форматированием в кодировке URL с правильным анализом.