2013-05-03 72 views
1

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

我已经尝试了paper_clip content_type验证的几种类型和语法,甚至他们工作(上传的文件类型都受到限制),窗体中不显示任何错误。

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

回答

2

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

你可能在你的形式是这样的:

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

但回形针的验证错误不会在“图像”被投入 - 他们会换上另一个属性,如“picture_file_name” 。由于simple_form有一个'图片'输入,而不是'picture_file_name'输入,它不知道把错误放在哪里,所以它们不显示。

查看您的错误数组并确认哪些属性出错。然后使用simple_form的错误助手在你看来把该属性的错误在适当的地方:

<%= f.error :picture_file_name %> 
0

不幸的是回形针提供自己的格式来保存它们在3个不同的属性的验证错误,而无需连接到基础模型属性:

* _file_name,* _file_size,* _content_type

因此,simple_form或任何其他窗体视图帮助程序无法映射回形针验证错误与字段名称。

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