Вы можете посмотреть модальные диалоги на www.jqueryui.com.Добавьте jquery ui в ваше приложение.
Поместите скрытый элемент div (отображение: нет) на страницу макета.
<div class="modal" style="display:none;">
</div>
Ваша ссылка должна быть ссылкой ajax:
<%= link_to 'Link', events_path(@event), :remote => true %>
Ваш контроллер должен принять ответ ajax:
def show
@event = Event.find(params[:id])
respond_to do |format|
format.js
end
end
Вот где происходит магия.После нажатия на ссылку через ajax ваш файл show.js вставит содержимое в пустой скрытый div и отобразит всплывающее окно.У ваших представлений должен быть файл javascript: /view/events/show.js.erb
$('.modal').html("<%= escape_javascript(render(@event)) %>"); //inserts content into your empty div, be aware that the parameter needed to be quoted.
$('.modal').dialog(); //jquery ui will open it as a modal popup
В приведенном выше примере он будет отображать событие как частичное.Так что вы должны сделать это, создав файл _event.html.erb в / views / events /