Rails cookies,Rails cookie, thiết lập ngày bắt đầu và kết thúc ngày
tôi cần phải thiết lập ngày bắt đầu và kết thúc ngày sử dụng cookie,
cho ví dụ., Một khi mục bổ sung đạt ngày thứ ba, mục nên hết hiệu lực.
Rails cookies,Rails cookie, thiết lập ngày bắt đầu và kết thúc ngày
tôi cần phải thiết lập ngày bắt đầu và kết thúc ngày sử dụng cookie,
cho ví dụ., Một khi mục bổ sung đạt ngày thứ ba, mục nên hết hiệu lực.
Cookie được đọc và ghi qua ActionDispatch#cookies (Cookie ActionController # trong Rails 3 trở xuống). Văn bản trong câu trả lời này được trích dẫn từ liên kết tài liệu API ở trên.
Cookie được đọc là cookie được nhận cùng với yêu cầu, cookie được ghi sẽ được gửi đi cùng với phản hồi. Đọc một cookie không tự lấy lại đối tượng cookie, chỉ là giá trị mà nó nắm giữ.
Ví dụ để viết:
# Sets a simple session cookie.
cookies[:user_name] = "david"
# Sets a cookie that expires in 1 hour.
cookies[:login] = { :value => "XJ-122", :expires => 1.hour.from_now }
ví dụ cho việc đọc:
cookies[:user_name] # => "david"
cookies.size # => 2
Ví dụ để xóa:
cookies.delete :user_name
Xin lưu ý rằng nếu bạn chỉ định: miền khi thiết cookie , bạn cũng phải chỉ định miền khi xóa cookie:
cookies[:key] = {
:value => 'a yummy cookie',
:expires => 1.year.from_now,
:domain => 'domain.com'
}
cookies.delete(:key, :domain => 'domain.com')
Các biểu tượng tùy chọn để cài đặt các tập tin cookie là:
* :value - The cookie’s value or list of values (as an array).
* :path - The path for which this cookie applies. Defaults to the root of the application.
* :domain - The domain for which this cookie applies.
* :expires - The time at which this cookie expires, as a Time object.
* :secure - Whether this cookie is a only transmitted to HTTPS servers. Default is false.
* :httponly - Whether this cookie is accessible via scripting or only HTTP. Defaults to false.
câu hỏi của bạn có thể liên quan đến câu hỏi này: How to I dynamically set the expiry time for a cookie-based session in Rails
một trong những điểm ý kiến để Deprecating SlideSessions:
"..Nếu bạn cần đặt khoảng thời gian hết hạn cho phiên qua tất cả các bộ điều khiển trong ứng dụng của bạn, chỉ cần thêm tùy chọn sau đây để cấu hình của bạn/intializers/session_store.rb file:
:expire_after => 60.minutes
Nếu bạn cần phải thiết lập khác nhau thời gian hết hạn trong khác nhau điều khiển hoặc các hành động, sử dụng các sau mã trong hành động hoặc một số before_filter:
request.session_options = request.session_options.dup request.session_options[:expire_after]= 5.minutes request.session_options.freeze
sao chép của băm là cần thiết chỉ bởi vì nó đã được đông lạnh tại mà điểm, mặc dù sửa đổi tại nhất: expire_after có thể và hoạt động hoàn hảo ..."
Tôi hy vọng rằng sẽ giúp. :)
Điều đáng lưu ý là ngay bây giờ không thể đặt thời gian bắt đầu cho cookie. Một tập hợp cookie luôn hoạt động ngay lập tức.
Đây là tất cả trong tài liệu: http: //api.rubyonrails.org/classes/ActionDispatch/Cookies.html –
@Senthil, Nếu bạn đang nhận được một cái gì đó từ một bài viết khác (trong trường hợp này 'như là' từ tài liệu đường ray), Xin vui lòng cho một tham chiếu đến nguồn gốc. – sameera207