0
上下文:我有一個帶有附加頭像(通過回形針)的用戶模型。當創建用戶時,頭像不是必需的,但是當用戶更新他的頭像時,我希望頭像是必需的。 當用戶上傳新的頭像時,只有頭像通過ajax請求提交。此時,如果file_field爲空,我想返回驗證錯誤。僅在單個屬性更新時添加狀態驗證
起初我用
validates_attachment_presence :avatar, message: "The file is missing", :if => ->{ !new_record? }
但預期它不完全工作,它讓我的驗證測試套件失敗的should be_valid
describe User do
before do
@user = FactoryGirl.create :user
end
subject { @user }
[...]
it { should be_valid }
end
這是正常的。
我應該如何處理這個問題的任何想法? 我想出的唯一的另一個想法是如果文件字段爲空但是看起來很亂,則從UserController#update中的@user.errors
注入一個新錯誤。
謝謝。
我不知道這句法中,我使用':在=> update'代替(@Kulbir:是的,大衛之後公佈1' 沒有看過他的回答,我刪除了我的答案) – citraL 2012-07-12 14:19:49
@citraL David使用的是新的ruby哈希語法。檢查這個[簡單的例子](http://www.gaurishsharma.com/2012/04/new-ruby-1-9-hash-syntax.html)。 – 2012-07-12 14:38:24
開瓶器正在使用消息:「文件丟失」,這是新的語法,所以我用新的語法也用於更新選項。 – 2012-07-12 15:20:46