0
我在Rails 3中使用respond_to和respond_with對來響應DELETE #destroy請求。銷燬操作在UsersController中定義。它銷燬params[:id]
指定的用戶並使用JS模板進行響應。但是,請求在RSpec測試中仍然失敗,我不確定如何解決它。Rails的respond_with行爲已刪除的資源?
下面是我的UsersController片段:
class UsersController < ApplicationController
respond_to :html, only: [:index, :show, :new, :edit]
respond_to :js, only: [:create, :update, :delete]
...
def destroy
@user = User.find(params[:id])
@user.destroy
respond_with @user
end
end
這裏是保持測試失敗:
require 'spec_helper'
describe UsersController do
...
describe "DELETE #destroy" do
before { @user = create(:user); delete :destroy, id: @user.id, format: :js }
it "return HTTP success" do
response.should be_success
end
it "respond with JS content" do
response.content_type.should == 'text/javascript'
end
end
end
測試「與JS的內容作出迴應」沒有成功,但是測試「迴歸HTTP成功「失敗。當我使用調試器來檢查response.code
時,它是406.自從刪除成功後,我期待2xx。這是一個正常的Rails行爲還是我的代碼有問題?
謝謝你真是太棒了! – Andree 2012-08-06 08:37:41