簡體   English   中英

Rails和RSpec:ActionController :: UnknownFormat錯誤

[英]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.

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