simple_form中不显示模型纸夹验证错误

时间:2013-05-03 19:59:37

标签: ruby-on-rails-3 validation paperclip jruby simple-form

我正在使用paper_clip和simple_form gems。不幸的是,似乎纸夹验证错误没有显示在我的表单中。

我已经尝试了几种类型和语法的paper_clip content_type验证,甚至它们都可以工作(上传的文件类型受到限制)没有错误显示在表单中。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

这是我怀疑的 - 回形针验证可能是在一个实际上不是simple_form输入的属性上进行的。

您的表单中可能包含以下内容:

<%= f.input :picture, :label => "Picture" %>

但是回形针的验证错误不会被放在“图片”上 - 它们会被放在另一个属性上,比如'picture_file_name'。由于simple_form具有“图片”输入,而不是“picture_file_name”输入,因此它不知道将错误放在何处,因此它们不会显示。

查看您的错误数组并确认获取错误的属性。然后在视图中使用simple_form的错误助手将该属性的错误放在适当的位置:

<%= f.error :picture_file_name %>

答案 1 :(得分:0)

不幸的是,paperclip为验证错误提供了自己的格式,将它们存储在3个不同的属性中,而不链接到基本模型属性:

* _ file_name,* _file_size,* _content_type

因此,simple_form或任何其他表单视图助手无法使用字段名称映射回形针验证错误。

您可以修补此处所​​述的回形针http://dev.mensfeld.pl/2013/05/paperclip-bootstrap-and-simpleform-working-together-on-rails/并永远忘记此问题