Rails闪存通知不会在Safari中消失?
我有一个管理学生的Rails 3.2应用程序。 它在顶部有一个相当典型的导航栏(基础5),其中包含一个快速搜索字段。 导航栏显示在站点的每个页面上。
如果您在搜索字段中输入有效(数字)学生ID,则只需跳转到该学生的页面即可。 如果输入文本或其他非数字输入,则会出现闪烁错误,要求输入有效内容。 如果您输入了未找到的ID,则会收到一条闪存通知,说明找不到该ID。 在后两种情况中的任何一种情况下,控制器应该让您回到您来自的任何页面并显示相应的Flash消息。
对于初学者,这是视图中的搜索字段:
这是控制器动作:
def search session[:return_to] ||= request.referer if params[:search].to_i.zero? flash[:error] = %Q[ Please enter a numeric student ID.].html_safe redirect_to session.delete(:return_to) else id = params[:search].to_i.abs @student = Student.search(id).first if @student redirect_to @student else flash[:caution] = %Q[ Sorry, we couldn't find a student with ID #{id}.].html_safe redirect_to session.delete(:return_to) end end end
最后,这是在application.html.erb中呈现flash消息的代码:
<div data-alert class="alert-box cbc-"> ×