2013-05-03 60 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/並且永遠不會忘記這個問題