响应JSON正在通过HTML响应

时间:2013-03-29 16:47:04

标签: ruby-on-rails json ruby-on-rails-3 rspec controller

在我的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响应时进入视图,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:1)

尝试使用仅render json: {}的操作进行测试。如果可行,问题可能出在mission_updated