Наследственный_ресурс, правильный способ рендеринга с ошибками проверки

Я долго гуглил, но не нашел полного ответа на мою проблему.

В моем приложении я использую Legited_resources. Итак, я хочу переопределить перенаправление после успешного создания объекта Comment, поэтому я пишу:

update! do |success, failure|
  success.html { redirect_to parent_url }
end

Я знаю, что могу сделать это в одной строке, но мне нужен блок, потому что мне нужно добавлять действия, когда происходит сбой тоже. Итак, я пишу:

update! do |success, failure|
  success.html { redirect_to parent_url }
  failure.html { 
    add_breadcrumb t("share.Home"), root_path
    add_breadcrumb t("project.Projects"), projects_path
    ...
    add_breadcrumb t("comment.edit_comment"), edit_resource_url
    render :action => :edit and return }
 end

И когда все в порядке, он перенаправляет правильно, но есть какие-то ошибки, я не получаю URL-адрес действия редактирования, у меня отображается URL-адрес действия, но отображаются форма редактирования и ошибки. Это нормально или я что-то не так делаю? Вот мой рендеринг формы для дополнительной информации:

<% link = "project_#{@comment.commentable_type.downcase}_comment_path"%>
<%= semantic_form_for [@project,@comment.commentable,@comment], :validate => true, :url => send(link,@project,@comment.commentable,@comment), do |f| %>
  <%= render 'form', :f => f %>
<% end %>

1 ответ

Решение

Если ответов нет, я думаю, что все в порядке, возможно, render - это render, но действие уже выполнено и URL-адрес изменен. В любом случае, спасибо.

Другие вопросы по тегам