处理异常时如何保留字段数据?

时间:2014-01-07 22:16:40

标签: ruby-on-rails exception-handling

在我的控制器中,我希望通过重定向回导致带有flash消息的异常的控制器操作来处理ActiveRecord :: RecordInvalid异常,但我还想保留用户输入的表单数据。有没有最好的方法来解决这个问题?

rescue_from ActiveRecord::RecordInvalid do |exception|
  redirect_to :back, alert: exception.message
end

目前正在重定向并正确显示Flash消息,但我不确定保留表单数据的最佳做法是什么。提前谢谢。

1 个答案:

答案 0 :(得分:0)

通常这是处理控制器中异常的方法。说创建动作。

def create
  @your_inst_var = YourModel.new(your_instance_var_params)

  if @your_inst_var.save
    redirect_to your_inst_var_path, notice: 'Your Inst Var was successfully created.'
  else
    render action: 'new'
  end
end

* your_instance_var_params被定义为满足rails 4强参数的私有方法