У меня модальная форма и после отправки ее без ошибки проверки. Я пытаюсь закрыть Modal и обновить страницу новыми результатами. Но я не могу заставить его работать. У меня есть этот код (Rails 3):Обновление страницы после удаленной => истинная модальная форма отправки
Мой контроллер:
def create
@stuff = Stuff.new(params[:stuff])
respond_to do |format|
if @stuff.save
format.js
else
format.js
end
end
end
_addModal.html.erb
<div id="addModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Label</h3>
</div>
<div class="modal-body">
<p>
<fieldset>
<label></label>
<%= render 'form2' %>
</fieldset>
</p>
</div>
</div>
_form2.html.erb
%= form_for(@stuff, :remote => true) do |f| %>
<% if @stuff.errors.any? %>
<div id="error_explanation">
<div class="alert">
<h2><%= @stuff.errors.count %></h2>
<ul>
<% @stuff.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
</div>
<% end %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
create.js .erb
<%- if @stuff.errors.any? %>
$('#addModal').html('<%= escape_javascript(render :partial => "form2") %>');
<%- else %>
$('#addModal').modal('hide').empty();
<%- end %>
Любые идеи, как я могу заставить это работать?
Спасибо!
Обновление:
Также я получил несколько quetions: 1) В случае, если есть ошибки проверки create.js.erb возвращает новый Modal с содержанием 'Form2' только- без макета #addModal. Как я могу это исправить?
2) Как можно очистить форму после успешной подачи?
Есть ли какие-либо ошибки или что-то в вашем терминале, пытаясь это? –
Я не вижу проблем с вашим кодом. вы просто хотите узнать, как обновить страницу? – jvnill
Ошибка отсутствует. Но когда я отправляю форму, она просто закрывается, и мне нужно обновить страницу вручную, чтобы увидеть новые результаты в таблице просмотра. Я хочу сделать это автоматически. –