2017-05-06 2 views
0

레일즈에서 RSpec을 사용하여 Paperclip 파일 업로드를 테스트하려고했습니다.레일 및 RSpec : ActionController :: UnknownFormat 오류

내가 서버를 실행하면, 나는 아무 문제가 없다,하지만 난 내 (아주 기본) RSpec에 테스트를 실행할 때, 나는 다음과 같은 오류가 나타날 수

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 
: 여기
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: [] 

내 테스트입니다 여기
- 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 

내 사진 모델 :

여기 HAML 내이다

class Photo < ApplicationRecord 
    validates :image, presence: true 

    has_attached_file :image, styles: { :medium => "640x" } 
    validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/ 
end 

나는 has_attached_file 인식 할 수없는 것을 말하는 내 테스트에서 NoMethodError 몇 가지 문제가 있었다,하지만 내가 찾은 광범위하게 인터넷 검색 후 누군가가 다음과 같이/초기화를 config (설정) 할 paperclip.rb 파일을 추가하여 행운을했다 :

require "paperclip/railtie" 

Paperclip::Railtie.insert 

이 문제가 발생하는 이유와 해결 방법에 대해 알고 싶습니다.

답변

0

오류는보기에 대한 템플릿 처리기를 찾을 수 없다는 것을 알려줍니다. Haml을 핸들러로 사용하고 있으므로, gem 파일에 haml gem을 추가해야합니다.

+0

감사하지만 이미 서버를 실행했을 때보기가로드되었습니다. – Freddy

+0

번들 설치를 실행 한 후 서버를 다시 시작 했습니까? – hashrocket

+0

테스트 중에 haml gem이 고려 될 수 있도록 스프링 ('스프링 정지 ')을 중지해야 할 수도 있습니다. – BoraMa