Хорошо, давайте начнем с контроллера.
def show_rec_horses
@rec_horses = Horses.find(:all)
respond_to do |format|
format.html # show_rec_horses.html.erb
format.js # show_rec_horses.js.erb
end
end
Это обеспечит отображение правильных шаблонов для запроса html или запроса javascript.Если вам просто нужно ответить на запрос javascript, удалите html-часть.
Теперь предположим, что у вас есть страница, содержащая следующее:
<p><%= link_to 'Show Horses', show_rec_horses_path, remote: true %></p>
<div id="interactionContainer"></div>
Если щелкнуть ссылку, запрос будетдействие show_rec_horses в вашем контроллере, это действие отобразит файл javascript show_rec_horses.js.erb
.
Этот файл javascript должен содержать что-то вроде этого:
$('#interactionContainer').html('<%=j render partial: 'horses/reccommended', locals: { rec_horses: @rec_horses } %>')
Теперь ваш контейнер будет заполненсодержимое horses/_reccommended.html.erb
, которое, например, может содержать:
<% rec_horses.all.each do |rec_horse| %>
<p><%= rec_horse.name %></p>
<% end %>