2014-11-28 5 views
1

그래서 나는 제이빌더 JSON 렌더링레일 JSON의 RSpec에와 API -> ActionView :: MissingTemplate

#controllers/api/v4/...rb 

이 API에서 API를 가지고 미만 :

#views/api/v4/....json.jbuilder 

내가 가진 사양 :

#spec/controllers/api/v4/..._spec.rb 
require 'rails_helper' 

RSpec.describe Api::V4::AlbumsController do 

    let(:user) { create(:user) } 

    before(:each) do 
     @request.env["devise.mapping"] = Devise.mappings[:user] 
     sign_in(user) 
    end 

    describe "GET index" do 
    it "returns correct types" do 
     get :index, {:format => :json, :user_id => user.id} 
     puts @request.body 
     puts response.body 
     user_response = json_response 
     puts user_response 
    end 
    end 
end 

모든 것이 렌더링 될 때까지 다음과 같이 표시됩니다.

Failure/Error: get :index, {:format => :json, :user_id => user.id} 
    ActionView::MissingTemplate: 
    Missing template api/v4/albums/index, api/api/index with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in: 
    * "#<RSpec::Rails::ViewRendering::EmptyTemplatePathSetDecorator:0x007ff4721d9f20>" 

누군가이 문제를 해결할 생각이 있습니까?

+0

html 및 json 응답을 모두 지원 하시겠습니까? – Anthony

+0

내 api는 자신의 폴더 api에 있고 routes.rb -> 네임 스페이스 : api, defaults : {format : 'json'}에서 json으로 기본 렌더링을 설정했습니다. – rolele

답변

0

내 gemfile에 jbuilder를 포함해야하므로 .json.jbuilder 뷰를 렌더링 할 수 있습니다.

관련 문제