2011-11-04 28 views
6

Tôi đang sử dụng ứng dụng ruby-on-ray của mình. Tôi có một lớp người dùng và một lớp AdminUser sử dụng devise. Trong bảng điều khiển quản trị của tôi, tôi muốn đăng xuất tất cả Người dùng nhưng không đăng xuất Người dùng quản trị viên.Đăng xuất tất cả người dùng bằng Devise

Trả lời

16

Cách tốt nhất để làm điều này là sử dụng phạm vi cấp đăng xuất phương pháp. Vì vậy, nếu bạn muốn đăng xuất tất cả người dùng (lớp người dùng), thì bạn sẽ làm điều này.

sign_out :user 
+1

tốt hơn để để lại các câu trả lời mô tả hơn không ... hai xu –

0
@users = User.all 
@users.log_out 

Giả sử bạn đang sử dụng xác thực cơ sở dữ liệu.

+0

Cảm ơn. Tôi đang sử dụng devise: database_authenticatable. Tôi không thấy những gì cần phải được xóa. – MIkeO

+0

Cố gắng chạy trên tất cả người dùng với destroy_user_session_path (người dùng). – CamelCamelCamel

14

Rất muộn, nhưng câu trả lời có thể là một cái gì đó như thế này

for user in User.all 
    sign_out user 
end 
2

Khi ai đó nói here, cách đơn giản nhất để làm điều này là thay đổi mã thông báo bí mật của đường ray.

Các vấn đề liên quan