2013-06-20 34 views
5

Rails kiểm tra 4. Trong Rails 3, đặt force_ssl ở đầu bộ điều khiển của tôi buộc ssl chỉ cho sản xuất. Điều này đã bị bỏ qua để phát triển, đó là hành vi tôi muốn, và phù hợp với các tài liệu cho force_ssl.Rails 4 force_ssl issue?

Trong Rails 4 tôi thấy rằng force_ssl lực ssl ngay cả đối với phát triển, mà không phải là hành vi tôi muốn (dễ dàng để làm việc xung quanh, nhưng đòi hỏi nhiều mã mà tôi không muốn). Hơn nữa, tôi không thể tìm thấy nơi này được cho là thay đổi trong bất kỳ ghi chú phát hành, vì vậy tôi tin rằng nó có thể là một lỗi.

Tôi chưa thể tìm thấy báo cáo lỗi về vấn đề này thông qua googling, cũng như trên trang web này. Có ai khác có thể xác nhận không? Hơn nữa, nếu có, ai đó có thể gửi báo cáo lỗi cho Rails (Tôi không có tài khoản được thiết lập để làm như vậy và không muốn tạo một tài khoản nếu ai đó đã có).

dễ dàng khắc phục, btw:

Rails.env.production? ? force_ssl : nil 

Trả lời

3

Nếu, như tôi, bạn có force_ssl một nhiều nơi trong mã của bạn, bạn có thể giữ DRY bằng bộ khởi tạo:

module ActionController::ForceSSL::ClassMethods 
    alias_method :original_force_ssl, :force_ssl 
    def force_ssl(options={}) 
    original_force_ssl unless Rails.env.development? 
    end 
end