2
這個想法是讓管理員用戶不能自我毀滅。 我寫了下面的測試:railstutorial.org,第9章練習,9
describe "as admin user" do
let(:admin) { FactoryGirl.create(:admin) }
before { valid_signin admin }
describe "should not be able to delete himself by submitting a DELETE request to the Users#destroy action" do
specify do
expect { delete user_path(admin) }.not_to change(User, :count).by(-1)
end
end
end
,因此修改了銷燬行動:
def destroy
@user = User.find(params[:id])
unless current_user?(@user)
User.find(params[:id]).destroy
flash[:success] = "User destroyed."
redirect_to users_url
end
end
(你只能如果你是一個管理員用戶訪問銷燬行動)。
該測試現在應該通過,但它沒有。我收到以下錯誤消息:
Failure/Error: expect { delete user_path(admin) }.not_to change(User, :count).by(-1)
ActionView::MissingTemplate:
Missing template users/destroy, application/destroy with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}.
我不明白缺少的模板錯誤消息,我不明白爲什麼測試不通過。
現貨,謝謝。現在完美運作。 – Bazley 2013-02-10 09:29:37