Tôi đang nâng cấp một ứng dụng lên Rails 3.0.0 và tự hỏi liệu phương pháp chuẩn để thêm SSL có thay đổi không (tôi mơ hồ nhớ các bản demo cho biết bộ định tuyến có thể xử lý SSL, mặc dù tôi không chắc chắn chỉ dành cho mục đích trình diễn). Tôi hiện đang sử dụng đá quý "ssl_requirement", tuy nhiên nó cung cấp:Rails 3 SSL Deprecation
DEPRECATION CẢNH BÁO: Việc sử dụng #request_uri không được dùng nữa. Thay vào đó hãy sử dụng fullpath. (Gọi từ ensure_proper_protocol tại /Library/Ruby/Gems/1.8/gems/ssl_requirement-0.1.0/lib/ssl_requirement.rb:53)
Ngoài ra, nó xuất hiện để phá vỡ khi xử lý mới 'dữ liệu phương pháp ' thuộc tính. Ví dụ:
<%= link_to "Logout", user_path, :method => :delete %>
Hoạt động tốt khi truy cập từ một phần SSL của ứng dụng, nhưng thất bại (cố gắng để làm cho chương trình hành động) khi tiếp từ một bộ phận không SSL (tất cả các hành động trong bộ điều khiển người dùng yêu cầu SSL, mặc dù Tôi hiểu rằng hành động phá hủy không truyền dữ liệu an toàn).
Điều này có vẻ phức tạp hơn việc sử dụng 'ssl_requirement'. Có phải phương pháp tiêu chuẩn mới để thực hiện nó trong Rails 3 hay là 'ssl_requirement' vẫn có thể sử dụng được không? Cảm ơn. –
@Kevin: Ngoài việc chuyển hướng tự động, tôi nghĩ nó khá dễ dàng. Hơn nữa, điều này là hoàn toàn có thể với DSL * tiêu chuẩn * định tuyến, một cái gì đó không thể được thực hiện trong Rails 2, do đó sự cần thiết cho một thư viện bên ngoài. – molf
Trong môi trường phát triển, hãy thực hiện phạm vi: ràng buộc => {: protocol => Rails.env.production? ? 'https': 'http'} làm ... kết thúc Nguồn: http://www.themomorohoax.com/2010/10/08/using-ssl-in-rails-3 – mysmallidea