在我的Rails应用程序中,我有应用程序控制器
respond_to :json
继承应用程序控制器的控制器在动作中响应json,如此...
# Some code
if mission_updated.eql? true
render :json => {}
else
render :json => {}
end
但是,每当我参考上述动作运行rspec测试时
it "should return appropriate response" do
post :update_unlocked_missions
parsed_body = JSON.parse(response.body)
parsed_body.should == {}
end
我返回时出现以下rspec错误
ActionView::MissingTemplate:
Missing template api/v1/missions/update_unlocked_missions, api/v1/base/update_unlocked_missions with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :rabl, :haml]}. Searched in:
* "#<RSpec::Rails::ViewRendering::EmptyTemplatePathSetDecorator:0x007f9ea2903b00>"
我的问题是为什么它会在应该用json响应时进入视图,我该如何解决这个问题呢?
答案 0 :(得分:1)
尝试使用仅render json: {}
的操作进行测试。如果可行,问题可能出在mission_updated
。