我有一段代码检查表单中提交的日期是不一样的:
if params[:statement_end_date] > params[:statement_start_date]
flash[:notice] = "End date cannot be greater than start date."
puts "salary report saved #{flash[:notice]}"
redirect_to 'statements/listing'
问题是当我输入两个相同的日期时,页面被渲染但没有闪光。当我刷新页面或转到另一页时,闪光灯会出现。
答案 0 :(得分:0)
闪存是会话的一个特殊部分,每个部分都会被清除 请求。这意味着存储在那里的值只能在 下一个请求,对于传递错误消息等很有用。
换句话说,闪存通知永远不会出现在您生成时正在查看的视图上。它将始终显示在下一个视图中。
如果您想在同一视图上显示消息,则必须创建一个partial view,根据您的if params[:statement_end_date] > params[:statement_start_date]
条件重新绘制视图中的“状态”div。 / p>