web-dev-qa-db-ja.com

警告:constant :: Fixnumは新しいモデルを生成するときには推奨されません

私はこれを解決する方法を見つけようとしましたが、Railsコマンドを実行したときに表示されるエラーに関連するものは何も見つかりませんでした。

Railsはモデルを生成しますBook title: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

誰がこれらのエラーの原因となっているのか知っていますか?

79
user7374147

Ruby 2.4.0を使用しているため、この警告が表示されます。

このバージョンではこの変更が導入されました。 FixnumとBignumを整数に統一します

発表については、こちらを参照してください。 https://www.Ruby-lang.org/en/news/2016/12/25/Ruby-2-4-0-released/

警告はRailsの一部であるactivesupport gemから来ており、今後のリリースで修正される予定です。

今のところ、あなたはそれらの警告を無視することができます。

更新:Rails 5.0.2がリリースされました 。これで警告は取り除かれました。

79
IngoAlbers

私はRailsを更新することによって私のものを直しました

bundle update Rails
18
mpalencia

私はあなたがRails 5を使っていると思いますか?このリンクをチェック してください (下に向かって)。これらの警告はrelease#27458で消えるようです。

9
jvillian

現時点でサポートされているこれらの非推奨警告のみが表示されている場合は、-W0オプションを指定してRUBYOPT bash変数を渡して警告を無視することができます。

Rails serverの代わりに試してください。RUBYOPT="-W0" Rails serverまたはRUBYOPT="-W0" bin/Rails server

Rails 5.0では、Railsだけでなくbin/Railsを使用する習慣を身に付けることをお勧めします。これは、グローバルなRailsバージョンであり、ローカルのRailsバージョンと同じである場合も同じでない場合もあるためです。

6
lsiebert