我正在为 Ruby on Rails 3 使用“回形针”gem,我想用这种方法处理自定义存在验证:“如果文件路径值(如“ /Users/Desktop/image.gif
”或“ C:/Users/Desktop/image.gif
”之类的字符串)未在“file_field”中输入' 对该字段抛出错误”。
我认为这样做有问题,因为 RoR 处理“file_field”的方式与其他字段不同。
注意:我不想使用 'paperclip' 中的 'validates_attachment_presence' 方法。
这是做我想做的事的好方法吗?如果是这样,该怎么做?
我在我的控制器中尝试了代码:
if params[:user][:avatar].blank?
# I also used
# - 'nil?' instead of 'blank'
# - !params[:user][:avatar]
@user.errors.add( :avatar, "can not be blank" )
end
但是,如果我尝试使用空文件(零/空白路径值)提交表单,我会得到一个
NoMethodError
你有一个 nil 对象,但你没想到它!
您可能期望 ActiveRecord::Base 的实例。
评估 nil 时发生错误。[]