0

私の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 で応答する必要があるときにビューに移動する理由と、これを修正するにはどうすればよいですか?

4

1 に答える 1

1

ただのアクションでテストしてみてくださいrender json: {}。それが機能する場合、問題はおそらくmission_updated.

于 2013-03-29T16:51:38.683 に答える