Формы в диалоге ведут себя как обычные формы - в них нет ничего особенного.
Если у вас есть форма, которую вы используете для редактирования элемента, оберните ее в <div>
и присвойте ейидентификаторНапример:
<div id="your_dialog">
<% form_for ... %>
... rest of form goes here
<% end %>
</div>
А потом где-нибудь вы захотите настроить диалог, используя javascript:
<script>
$(document).ready(function() {
var $your_dialog = $('#your_dialog').dialog({
autoOpen: false,
title: 'Edit',
modal: true,
draggable: false
});
});
</script>
И затем подключите диалог к какой-нибудь ссылке (вероятно, в вашей public/application.js
):
$('#open-dialog').click(function(){
$your_dialog.dialog('open');
});
И где-то в вашем представлении у вас будет элемент, который действует как кнопка открытия диалога:
<span id="open-dialog">Click me to open the dialog</span>
Если вы хотите, чтобы диалог был AJAX-отправкой,Обязательно используйте :remote => true
в параметрах формы.
Это должно сделать это.Убедитесь, что ваша форма работает, прежде чем пытаться поместить ее в диалоговое окно (т. Е. Подготовить первый div / форму, прежде чем пытаться подключить диалог javascript)