Rails警告不起作用

时间:2013-12-16 19:41:42

标签: ruby-on-rails

我正在尝试提醒用户他们是否已登录应用。这是我的会话销毁行动:

  def destroy
    session[:user_id] = nil
    redirect_to root_url, alert: "Logged out!"
  end

漂亮的海峡前锋。有人点击退出按钮,我想要一个警告弹出你说“退出!”。

它没有出现,但我也相信我在视图中遗漏了一些东西。我在观看中要做什么才能显示出来?

1 个答案:

答案 0 :(得分:3)

如果会话中有人,则您的视图模板应有条件地呈现flash message。以下代码段将显示所有alert个Flash消息:

<% if flash[:alert] %>
    <div class="alert"><%= flash[:alert] %></div>
<% end %>

<强>更新

或者,如果您要渲染任何 Flash消息类型(例如alertnoticewarning等),可以使用以下代码段来迭代会话中任何和所有的Flash消息:

<% flash.each do |key, value| %>
    <div class="<%= key %>"><%= value %></div>
<% end %>

假设您使用多种Flash消息类型,后一种方法比单独处理每种Flash消息类型更动态,需要的代码更少。