Javascript не заменяет HTML в рельсах + Ajax - PullRequest
0 голосов
/ 28 мая 2019

Все еще учимся использовать Ajax в Rails. У меня есть простой контроллер:

class PagineController < ApplicationController

  def cerca
  end

  def trova
    respond_to do |format|
      format.js {render layout: false }
    end
  end

end

routes.rb:

  get '/cerca', to: 'pagine#cerca'
  post '/cerca', to: 'pagine#trova'

Это trova.js.erb:

$('#search_table').html("<%= escape_javascript(render partial: 'search_result') %>");

Это cerca.html.erb:

<%= form_tag '/cerca', remote: true do %>
    <%= text_field_tag :name, params[:name], placeholder: 'Inserisci parte 
        del nome del gioco' %>
    <%= submit_tag 'Cerca' %>
<% end %>


<h1> Results </h1>

<div id="search_table">
  <p>Here the partial</p>
</div>

а это _search_result.html.erb

  <p> I'm running well </p>

Я ожидаю, что когда я отправлю запрос с помощью кнопки, «Здесь частичное» будет заменено на «Я работаю хорошо». Но этого не происходит. В журнале я вижу, что _search_result.html.erb правильно отображается, поэтому все должно работать.

Почему бы и нет?

1 Ответ

0 голосов
/ 28 мая 2019

Хорошо.Я решил (для будущих ссылок, если кому-то нужно), используя разные js:

document.getElementById("search_table").innerHTML = "<%= j render 'search_result' %>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...