Warning: constant:: Fixnum устарел При создании новой модели
Я попытался найти какое-то решение для этого, но я действительно не мог найти ничего связанного с ошибками, которые появляются у меня, когда я запускаю команду rails:
rails generate model Название книги: строка 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
Кто-нибудь знает, что может вызвать эти ошибки?
Ответы
Ответ 1
Эти предупреждения появляются, потому что вы используете ruby 2.4.0.
В этой версии было внесено это изменение: Унифицировать Fixnum и Bignum в Integer
См. здесь для объявления: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/
Предупреждения исходят от драгоценного камня activesupport, который является частью рельсов и будет исправлен в предстоящем выпуске.
Теперь вы можете просто игнорировать эти предупреждения.
Обновление: выпущен Rails 5.0.2, который избавляется от предупреждений.
Ответ 2
Я исправил шахту, обновив рельсы
bundle update rails
Ответ 3
Я предполагаю, что вы используете Rails 5? Проверьте эту ссылку (внизу). Похоже, что эти предупреждения уйдут с релизом № 27458.
Ответ 4
Если эти предупреждения об отказе в активной поддержке являются единственными предупреждениями, которые вы видите, вы можете их отказать, передав переменную RUBYOPT bash с параметром -W0, который будет отключен.
поэтому вместо rails server
попробуйте: RUBYOPT="-W0" rails server
или RUBYOPT="-W0" bin/rails server
В рельсах 5.0 вы можете привыкнуть использовать bin/rails не только рельсы, так как это глобальная версия рельсов, которая может быть или не быть такой же, как ваша локальная версия rails.