簡體   English   中英

如何在模型文件中為變量指定文件類型?

[英]How to specify file type for a variable, in the model file?

在我的一個模型文件中,我想為變量(稱為xml_file)指定它應該是xml文件。 到目前為止,我已經嘗試過生成錯誤消息。

嘗試1

validates  :xml_file,         presence: true,
                              content_type: %w(application/xml)

rake test這會生成錯誤ArgumentError: Unknown validator: 'ContentTypeValidator'

嘗試2

VALID_XML_REGEX = %w(xml)
validates  :xml_file,         presence: true,
                              format: { with: VALID_XML_REGEX }

測試時會產生錯誤ArgumentError: A regular expression or a proc or lambda must be supplied as :with

嘗試3 :創建自己的方法

validates  :xml_file_format
private
def xml_file_format
  validates :xml_file, format: /.xml/
end

這也不起作用,並產生了錯誤ArgumentError: You need to supply at least one validation

因此,我的問題是: 如何在模型文件中指定變量“ xml_file”為xml文件?

您似乎在混淆兩件事:

  1. XML文件
  2. XML文件的路徑

您正在驗證沒有content_type的XML文件的路徑。 (AAMOF,XML文件也沒有content_type ,但這是一個單獨的主題。)

根據Rails指南 ,您可以使用:

format: { with: /\.xml\z/ }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM