1

我正在使用 paper_clip 和 simple_form gem。不幸的是,我的表单中似乎没有显示回形针验证错误。

我尝试了几种 paper_clip content_type 验证的类型和语法,即使它们有效(上传的文件类型受到限制),表单中也不会显示错误。

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

4

2 回答 2

2

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

您的表单中可能有这样的内容:

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

但是回形针的验证错误不会放在“图片”上——它们会放在另一个属性上,比如“图片文件名”。由于 simple_form 有一个 'picture' 输入,而不是一个 'picture_file_name' 输入,它不知道将错误放在哪里,所以它们不会出现。

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

<%= f.error :picture_file_name %>
于 2013-05-04T17:20:36.563 回答
0

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

*_file_name、*_file_size、*_content_type

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

您可以像这里描述的那样修补回形针http://dev.mensfeld.pl/2013/05/paperclip-bootstrap-and-simpleform-working-together-on-rails/并永远忘记这个问题

于 2013-05-28T11:53:10.867 回答