Tôi là một người mới sử dụng Ruby và Rails, đó là lý do tại sao tôi sẽ trải qua Rails Tutorial bởi Michael Hartl. Tôi bị kẹt ở Chương 9, Bài tập # 9. Tôi đã cập nhật def phá hủy mã trong Controller Người sử dụng để:Bài hướng dẫn của Ruby Bài tập # 9 - Không cho phép quản trị tự xóa
def destroy
user = User.find(params[:id])
if (current_user == user) && (current_user.admin?)
flash[:error] = "Can not delete own admin account!"
else
user.destroy
flash[:success] = "User destroyed."
end
redirect_to users_path
end
Điều này dường như làm việc khi tôi thử nghiệm trong trình duyệt bằng cách thêm "xóa" liên kết đến CURRENT_USER khi admin đăng nhập Nhưng tập thể dục nói. để viết một bài kiểm tra đầu tiên - mà tôi đã làm nhưng dường như không hoạt động. Dưới đây là những gì tôi có cho thử nghiệm:
describe "as admin user" do
let(:user_admin) { FactoryGirl.create(:admin) }
before { sign_in user_admin }
describe "submitting a DELETE request to destroy own admin account" do
before { delete user_path(user_admin) }
it { should have_selector('div.alert.alert-error', text: 'delete own admin') }
end
end
Có lẽ những gì tôi đang thử nghiệm sẽ không được kiểm tra. Làm thế nào để bạn kiểm tra việc sửa đổi mã hủy diệt trong Bộ điều khiển người dùng?
Tôi tin rằng bạn có thể có nghĩa là Chương 9 Bài tập 10 - ít nhất đó là những gì nó đang hiển thị như trong phiên bản trực tiếp tính đến hôm nay. – eblume