Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation Rails 3中的表单验证错误_Validation_Ruby On Rails 3_Formtastic_Refinerycms - Fatal编程技术网

Validation Rails 3中的表单验证错误

Validation Rails 3中的表单验证错误,validation,ruby-on-rails-3,formtastic,refinerycms,Validation,Ruby On Rails 3,Formtastic,Refinerycms,我在Rails 3中使用Formtastic构建了一个表单。表单提交给ClientsController的#创建操作,如果保存成功,控制器将重定向到“谢谢”页面。如果保存不成功,它将重定向到嵌入表单的页面。我希望能够在表单页面内联显示验证错误,但在重定向回该页面后,errors对象返回为空 如何才能在表单上显示验证错误 这是来自控制器的代码 if client.save && event.save redirect_to "/thank-you" else redirec

我在Rails 3中使用Formtastic构建了一个表单。表单提交给ClientsController的#创建操作,如果保存成功,控制器将重定向到“谢谢”页面。如果保存不成功,它将重定向到嵌入表单的页面。我希望能够在表单页面内联显示验证错误,但在重定向回该页面后,errors对象返回为空

如何才能在表单上显示验证错误

这是来自控制器的代码

if client.save && event.save
  redirect_to "/thank-you"
else
  redirect_to :back
end  
一些附加细节:我使用的是DefineryCMS,因此表单所在的页面没有视图,因此我无法呈现视图。

为什么不:

render :action => 'name-of-the-view-the-form-is-in'

您需要将错误保存到会话中,而不是
重定向到:back


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

现在,您可以使用
会话[:client\u create\u errors]

从任何用户访问errors对象。对不起,我应该提到我使用的是RefineryCMS,因此页面存储在数据库中。该页没有视图。