为什么flash在新请求中持久存在?

时间:2012-10-04 22:06:44

标签: ruby-on-rails ruby flash

我的控制器中有以下代码:

  def show
    @activity = current_user.activities.find(params[:id])
    if graph.good_data?(params)
      graph.time_frame(params)
    else
      flash[:error] = "Please enter valid data."
      graph.default
    end
  end

当我输入无效数据时flash[:error]收到一条消息,所有内容都会相应显示。如果在输入无效数据后输入有效数据,则操作按预期执行。 graph.time_frame(params)做到了。但是,flash[:error]消息会在下一个请求中保留。如果我再次输入有效数据,flash[:error]消息将消失。有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

使用flash.now[:error],这是特殊情况。