2013-06-20 7 views
5

Test Rails 4. In Rails 3, mettendo force_ssl nella parte superiore del mio controller forzato ssl solo per la produzione. Questo è stato ignorato per lo sviluppo, che era il comportamento che volevo e che si conformava ai documenti per force_ssl.Rails 4 problema force_ssl?

In Rails 4 ho trovato che force_ssl forza ssl anche per lo sviluppo, che non è il comportamento che voglio (facile da aggirare, ma richiede più codice che non voglio). Inoltre, non riesco a trovare dove questo è stato presumibilmente cambiato in qualsiasi nota di rilascio, quindi credo che potrebbe essere un bug.

Non sono stato in grado di trovare un bug report su questo tramite googling, né su questo sito web. Qualcun'altro può confermare? Inoltre, in tal caso, qualcuno può inviare il bug report a Rails (non ho un account configurato per farlo, e non voglio crearne uno se qualcun altro ne ha già uno).

facile soluzione, btw:

Rails.env.production? ? force_ssl : nil 

risposta

3

Se, come me, avete force_ssl un molti posti nel tuo codice puoi mantenere DRY con un inizializzatore:

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