Ruby on rails 带有Rspec->ActionView::MissingTemplate的Rails json API
所以我有一个apiRuby 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
#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。