2012-06-08 26 views
28

W tej chwili pracuję nad szynami 3.0.0. Jeśli uruchomię swój projekt na terminalu, otrzymam to ostrzeżenie. Proszę pomóż mi.ostrzeżenie: już zainicjowana stała PDF

/usr/share/ruby-rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.0/lib/action_dispatch/http/mime_type.rb:98: ostrzeżenie: już zainicjowany stała PDF

+0

Można spojrzeć w environment.rb, aby sprawdzić, czy masz MIME typu PDF wymieniony dwukrotnie – ScottJShea

+0

Używasz biblioteki PDF, takie jak krewetka? – Giuseppe

+0

używasz Wicked PDF? https://github.com/mileszs/wicked_pdf/pull/82 – aaron

Odpowiedz

59

Możesz mieć to w swoim pliku config/initializers/mime_types.rb.

Mime::Type.register 'application/pdf', :pdf 

Wygląda na to, że nowsze wersje szyn już ją rejestrują.

+0

jesteś pewien, że domyślnie Rails rejestruje go teraz? – marcgg

+0

Nie, nie jestem pewien. Przyczyną może być również rejestracja innych klejnotów. – 23inhouse

+8

Tak, na pewno dodano go w dniu 2011-06-27 w tym zatwierdzeniu https://github.com/rails/rails/commit/d73269ba53992d8a01e5721aad3d23bc2b11dc4f – mat

26

Spróbuj użyć lookup_by_extenstion przed zdefiniowaniem.

Mam to na moim pliku config/initializers/mime_types.rb.

Mime::Type.register "application/pdf", :pdf unless Mime::Type.lookup_by_extension(:pdf) 
+1

Może nie być konieczne, ale jest bezpieczniejsze. Dzięki! –

+0

Miałem ten sam błąd w Rails 3.2.14 przy użyciu klejnotu Prawn. Zmiana 'Mime :: Type.register" application/pdf ",: pdf' na' Mime :: Type.register "application/pdf",: pdf, chyba że Mime :: Type.lookup_by_extension (: pdf) 'zrobił lewę! Dzięki! – nulltek

+0

Dzięki. To mi pomogło. –