铁轨中的形式验证错误3
-
30-09-2019 - |
题
我有一个使用Rails 3中的Formtastic构建的表格3.该表格提交给客户端controller的#Create动作,如果保存成功,则控制器将重定向到“谢谢”页面。如果保存未成功,它将重定向到嵌入表单的页面。我希望能够在表单页面上显示验证错误,但是在重定向回到该页面后,错误对象回到空。
我该怎么办,我可以在表单上显示验证错误?
这是控制器的代码。
if client.save && event.save
redirect_to "/thank-you"
else
redirect_to :back
end
一些其他细节:我正在使用RefineryCMS,因此该页面所在的页面没有视图,因此我不能 render
风景。
解决方案
您需要将错误保存到会话中。
if client.save && event.save
session[:client_create_errors] = nil
redirect_to "/thank-you"
else
session[:client_create_errors] = client.errors
redirect_to :back
end
现在,您可以使用Anywere访问错误对象 session[:client_create_errors]
其他提示
为什么不:
render :action => 'name-of-the-view-the-form-is-in'
而不是 redirect_to :back
?
不隶属于 StackOverflow