Ruby on Rails 3和Paperclip gem:附件上的自定义状态验证(不使用' validates_attachment_presence')

时间:2011-01-19 19:38:14

标签: ruby-on-rails ruby ruby-on-rails-3 paperclip filefield

我正在使用Ruby on Rails 3的'paperclip'gem,我希望用这种方法处理自定义状态验证:“如果是文件路径值(像{{{ 1}}“或”/Users/Desktop/image.gif“)未输入'file_field'会引发此字段的错误”。

我认为我有一个问题要做,因为RoR处理'file_field'的方式不同于其他字段。

注意:我不想使用'paperclip'中的'validates_attachment_presence'方法。

做我想做的事情是一个好方法吗?如果是这样,该怎么做?


我在我的控制器中尝试了代码:

C:/Users/Desktop/image.gif

但是,如果我尝试使用空文件(零/空路径值)提交表单,我会得到一个

  

NoMethodError
  当你没想到它时,你有一个零对象!
  您可能期望ActiveRecord :: Base的实例   在评估nil。[]

时发生错误

1 个答案:

答案 0 :(得分:1)

只是一个想法:您还可以使用Javascript来启用上传按钮,直到首先在文本字段中输入内容为止。这避免了不必要的往返服务器的需要。您可能想要验证,如果您的User.rb模型使用attr_accessible,则该字段存在于该行中。