Ответ 1
Хорошо, начните с контроллера.
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 %>