我正在尝试提醒用户他们是否已登录应用。这是我的会话销毁行动:
def destroy
session[:user_id] = nil
redirect_to root_url, alert: "Logged out!"
end
漂亮的海峡前锋。有人点击退出按钮,我想要一个警告弹出你说“退出!”。
它没有出现,但我也相信我在视图中遗漏了一些东西。我在观看中要做什么才能显示出来?
答案 0 :(得分:3)
如果会话中有人,则您的视图模板应有条件地呈现flash message。以下代码段将显示所有alert
个Flash消息:
<% if flash[:alert] %>
<div class="alert"><%= flash[:alert] %></div>
<% end %>
<强>更新强>:
或者,如果您要渲染任何 Flash消息类型(例如alert
,notice
,warning
等),可以使用以下代码段来迭代会话中任何和所有的Flash消息:
<% flash.each do |key, value| %>
<div class="<%= key %>"><%= value %></div>
<% end %>
假设您使用多种Flash消息类型,后一种方法比单独处理每种Flash消息类型更动态,需要的代码更少。