如果文件没有Paperclip的有效文本,则拒绝上传

时间:2014-03-17 08:04:40

标签: ruby-on-rails ruby paperclip

管理员可以上传应更新某些表格的文件。但是,如果文件不以/ ZIPCODES /.

开头,则不应上载
def validate_file_content
  file = File.readlines(Rails.root.join('test.txt'))
  file.each do |line|
   errors.add(line, 'not a valid file') if line !~ /ZIPCODES/
  end
end

它应该像上面那样做,但它不起作用。我无法上传任何文件,因为它每次都会抛出错误。

如何编写代码,检查文件是否以ZIPCODES开头,上传它,如果不是,则会抛出错误?

提前致谢。如果您需要其他代码,请告诉我。

1 个答案:

答案 0 :(得分:0)

您的代码扫描文件的每个行以匹配表达式ZIPCODES,但您只需要第一个行。试试

def validate_file_content
 file = File.readlines(Rails.root.join('test.txt'))
 errors.add(file[0].line, 'not a valid file') if file[0].line !~ /ZIPCODES/
end