Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带有Rspec->ActionView::MissingTemplate的Rails json API_Ruby On Rails_Ruby_Json_Rspec - Fatal编程技术网

Ruby on rails 带有Rspec->ActionView::MissingTemplate的Rails json API

Ruby on rails 带有Rspec->ActionView::MissingTemplate的Rails json API,ruby-on-rails,ruby,json,rspec,Ruby On Rails,Ruby,Json,Rspec,所以我有一个api #controllers/api/v4/...rb 此api在以下情况下呈现jbuilder json: #views/api/v4/....json.jbuilder 我有一个规范: #spec/controllers/api/v4/..._spec.rb require 'rails_helper' RSpec.describe Api::V4::AlbumsController do let(:user) { create(:user) } befor

所以我有一个api

#controllers/api/v4/...rb
此api在以下情况下呈现jbuilder json:

#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>"

有人有办法解决这个问题吗?

我需要在我的文件中包含jbuilder。。。因此它可以呈现.json.jbuilder视图。

您是否同时支持html和json响应?我的api位于它们自己的api文件夹中,我在routes.rb->namespace:api中将默认呈现设置为json,默认值:{format:'json'}do。