[英]Rails and RSpec: ActionController::UnknownFormat error
我一直在尝试使用带有Rails的RSpec来测试Paperclip文件的上传。
运行服务器时,没有任何问题,但是运行(非常基本的)RSpec测试时,出现以下错误:
Failure/Error: visit root_path
ActionController::UnknownFormat:
PhotosController#index is missing a template for this request format and variant.
request.formats: ["text/html"]
request.variant: []
这是我的测试:
require 'rails_helper'
feature 'photos' do
context 'no photos have been added' do
scenario 'should display prompt to add a photo' do
visit root_path
expect(page).to have_content 'No photos yet'
expect(page).to have_link 'Add a photo'
end
end
end
这是我在haml中的观点:
- if @photos.any?
- @photos.each do |photo|
= image_tag photo.image
= photo.caption
- else
%h1 No photos yet
%h2= link_to "Add a photo", new_photo_path
这是我的照片模型:
class Photo < ApplicationRecord
validates :image, presence: true
has_attached_file :image, styles: { :medium => "640x" }
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
end
我的测试中出现NoMethodError问题,原因是无法识别has_attached_file
,但是在Google广泛搜索之后,我发现有人通过添加一个paperclip.rb文件到配置/初始化程序来实现以下目的,这很幸运:
require "paperclip/railtie"
Paperclip::Railtie.insert
知道为什么我会遇到这个问题以及如何克服它吗?
错误告诉您找不到该视图的模板处理程序。 由于您将Haml用作处理程序,因此必须将haml gem添加到gem文件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.