Код, который вы пытаетесь использовать (например, render :update do |page|
и т. Д.), Предназначен для обновления страницы HTML (например, page['content'].innerHTML = 'Thank you, we received your data.'
), а не для извлечения данных со страницы (что должно происходить при отправке формы).
Вариант 1) Просто используйте данные поля формы, которые были отправлены. (Вы не включили фактический пример, и я не могу сказать, есть ли другой контент, не являющийся формой, который вы хотите сохранить.) Я бы хотел сделать это путем преобразования хеша params
в строку JSON и сохранения этого в текстовом поле в базе данных. Например. @evaluation.content = params.to_json
.
Вариант 2) Включите полный HTML-код div в сообщение формы, скопировав его в скрытое поле при отправке формы. (Вам может потребоваться выполнить некоторую кодировку строки HTML, прежде чем поместить ее в скрытое поле.) Использование примера кода в качестве отправной точки:
<% form_remote_tag :url=>{:action => 'save_trainee_evaluation'}, :html => { :onsubmit => "$('content_inner_html').value = $('content').innerHTML;" } do %>
<%= hidden_field_tag 'content_inner_html', :id => 'content_inner_html' %>
<div id="content">
<%= contract_trainer_trainee.evaluation_template %>
</div>
<%= submit_tag 'Opslaan' %>
Тогда в контроллере у вас будет блок HTML в params[:content_inner_html]
.