наследственный_ресурс, правильный способ рендеринга с ошибками проверки - PullRequest
2 голосов
/ 14 октября 2011

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

В моем приложении я использую 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 Ответ

0 голосов
/ 24 октября 2011

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

...