gpt4 book ai didi

ruby-on-rails - 如何在 session 或Flash中传递表单错误? [ rails 2.3.5]

转载 作者:行者123 更新时间:2023-12-01 22:07:20 26 4
gpt4 key购买 nike

我有一个表单的创建操作,该操作可能会生成错误(即缺少名字),然后重定向。

问题是,当重定向发生时,这些表单错误就会丢失。我如何在 session 中传递这些表单错误以显示回原始表单(仍应填写以前的详细信息,如原始 error_messages 行为)?

谢谢!

<小时/>

代码:

def create
@contact = Contact.new(params[:contact])
if @contact.save
flash[:notice] = "Sent."
else
flash[:notice] = "Error."
end
end

最佳答案

Rails 中的约定是渲染原始操作的 View 而不是进行重定向。所以你的代码将如下所示:

def create
@contact = Contact.new(params[:contact])
if @contact.save
flash[:notice] = 'Sent.'
redirect_to @contact
else
flash.now[:notice] = 'Error.'
render :new
end
end

如果 new 操作需要进行任何其他设置,请将公共(public)代码提取到私有(private)方法中,并在 before_filter 中为两个 调用它>新建创建

关于ruby-on-rails - 如何在 session 或Flash中传递表单错误? [ rails 2.3.5],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com