web-dev-qa-db-fra.com

warning: constant :: Fixnum est obsolète lors de la génération d'un nouveau modèle

J'ai essayé de trouver une solution à ce problème, mais je ne trouvais rien qui fût lié aux erreurs qui m'apparaissaient lorsque j'exécutais la commande Rails:

Les rails génèrent le modèle Titre du livre: string summary: text isbn: string

/home/vmu/.rbenv/versions/2.4.0/lib/Ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/home/vmu/.rbenv/versions/2.4.0/lib/Ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/home/vmu/.rbenv/versions/2.4.0/lib/Ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated
Running via Spring preloader in process 3579
Expected string default value for '--jbuilder'; got true (boolean)
      invoke  active_record
   identical    db/migrate/20170104114702_create_books.rb
   identical    app/models/book.rb
      invoke    test_unit
   identical      test/models/book_test.rb
   identical      test/fixtures/books.yml

Quelqu'un sait ce qui peut causer ces erreurs?

81
user7374147

Ces avertissements apparaissent car vous utilisez Ruby 2.4.0.

Cette version introduit cette modification: nify Fixnum and Bignum in Integer

Voir ici pour l'annonce: https://www.Ruby-lang.org/en/news/2016/12/25/Ruby-2-4-0-released/

Les avertissements proviennent de la gem active de support qui fait partie de Rails et seront corrigés dans une prochaine version.

Pour l'instant, vous pouvez simplement ignorer ces avertissements.

Mise à jour: Rails 5.0.2 a été publié , qui supprime les avertissements.

80
IngoAlbers

J'ai corrigé le mien en mettant à jour Rails

bundle update Rails
18
mpalencia

Je suppose que vous utilisez Rails 5? Départ ce lien (vers le bas). On dirait que ces avertissements disparaîtront avec la publication n ° 27458.

9
jvillian

Si ces avertissements de dépréciation du support actif sont les seuls avertissements que vous voyez, vous pouvez les surpresser en transmettant une variable RUBYOPT bash avec l'option -W0 qui désactivera.

donc au lieu de Rails server essayez: RUBYOPT="-W0" Rails server ou RUBYOPT="-W0" bin/Rails server

Dans Rails 5.0, vous voudrez peut-être prendre l’habitude d’utiliser bin/Rails, et pas seulement Rails, car il s’agit de la version globale Rails qui peut ne pas être identique à votre version locale Rails version.

6
lsiebert