当验证失败时,如何使form_for完成先前提交的数据?

时间:2011-09-04 13:35:28

标签: ruby-on-rails ajax submit form-for

  • 鉴于我的表格很大
  • 当用户提交
  • 数据验证失败
  • 然后用户再次被重定向到上一页
  • 表单应包含用户之前提交的数据

我如何实现最后一部分? :P form_for帮助器有flash[]之类的东西? 我必须使用AJAX吗?

2 个答案:

答案 0 :(得分:2)

正如一些评论所暗示的那样,如果您使用的是最佳做法,则此可以成为默认行为。

以下是应该表现出所述行为的新/创建控制器操作的示例:

def new
  @model = MyModel.new
end

def create
  @model = MyModel.new(params[:my_model])

  if @model.save
    redirect_to my_models_url, :notice => "Success!"
  else
    flash.now[:error] = "There was an error"
    render :new
  end
end

答案 1 :(得分:0)

检查您的视图是否request.method ==:post,如果是,则使用params []中的数据。它将包含您刚发布的数据。