Я уже смог заменить сообщения, используя 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) %>")