Хранить AJAX параметров в URL (Rails) - PullRequest
0 голосов
/ 09 июля 2020

Я уже смог заменить сообщения, используя AJAX при отправке формы. Проблема, однако, в том, что URL-адрес не обновляется для включения добавленных мной параметров.

Когда я нажимаю «Отправить», значения передаются в контроллер. Я могу позвонить по номеру params[:tags], и он вернет идентификаторы. Однако URL-адрес по-прежнему localhost:3000/posts/:id, и он не включает tag_ids.

Вот затронутые файлы:

posts_controller.rb:

def show
  @posts = get_posts

  respond_to do |format|
    format.js
    format.html
  end
end

posts/show.html.haml:

#posts
  = render "posts", { posts: posts }

= form_tag url_for(:only_path => false), method: :get, remote: true, id: "posts-form" do
 
  @tags.each do |tag|
    = check_box_tag "tags[]", tag[:id]
    = tag[:name]

  = submit_tag "Filter"

posts/show.js.erb:

$('#posts').html("<%= j (render 'posts', posts: @posts) %>")
...