2011-03-18 36 views
6

Tôi có ứng dụng Rails được tích hợp sẵn. Tôi đang sử dụng phiên Cookie Store. Tôi cần lưu trữ một số dữ liệu trong phiên mỗi khi ai đó đăng nhập, Ví dụ: id người dùng của họ. Làm thế nào tôi có thể làm như vậy với Devise?Rails and Devise - Truy cập dữ liệu phiên

Có thể có một số cách thanh lịch, nơi tôi chỉ không cần phải làm điều đó và có thể truy cập nó với Devise chính nó.?

Cảm ơn!

Trả lời

8

Bạn có thể sử dụng biến "phiên" bên trong bộ điều khiển. Một cái gì đó như session[:some_value] = "some_value"

Cũng Devise đã có user_id được lưu trữ trong phiên. Có thể sử dụng phương pháp trợ giúp current_user tại đây.

Ngoài ra hãy đảm bảo bạn đọc phần này, nó có chi tiết về những gì cần lưu trữ trong phiên hay không. http://guides.rubyonrails.org/security.html

Cửa hàng phiên cookie thường chỉ có kích thước 4k nên bạn không thể lưu trữ nhiều dữ liệu trong ứng dụng hoặc ứng dụng của bạn sẽ bắt đầu bị lỗi.

+2

Điều này không hiệu quả đối với tôi. Ngay cả khi đăng nhập, phiên của tôi là không. Bất kỳ ý tưởng nào khác? – Corey

+0

Làm cách nào để nhận thông tin khi phiên sắp hết hạn? –

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