Form_for - 重定向错误

时间:2013-10-16 15:23:12

标签: ruby-on-rails redirect form-for

我在视图form_for(@user)中使用settings#info

# ./views/settings/info.html.erb

<%= form_for(@user) do |f|  %>

    <% if @user.errors.any? %>
        <% @user.errors.full_messages.each do |msg| %>
            <li>* <%= msg %></li>
        <% end %>
    <% end %>
...
<% end %>


# ./controllers/users_controller.rb

  def update
    @user = User.find(current_user.id)
    if @user.update_attributes(params["user"])
        ....
    else
      render template: 'settings/info'
    end

  end

一切都很好,如果有的话会显示错误。但是,因为我在settings_controllers.rb的info操作中传递了一些变量,所以我需要将其更改为重定向(带有错误)。我怎么能这样做?

提前致谢

1 个答案:

答案 0 :(得分:0)

在重定向的情况下,我通常使用rails flash对象并直接添加错误。

flash[:alert] = @user.errors.full_messages.join(' ')