在我的一个模型文件中,我想为变量(称为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文件吗?
答案 0 :(得分:0)
你好像混淆了两件事:
您正在验证XML文件的路径,该文件没有content_type。 (AAMOF,XML文件也没有content_type
,但这是一个单独的主题。)
根据Rails Guides,您可以使用:
format: { with: /\.xml\z/ }