警告:常量:: Fixnum已弃用当生成新模型时

我试图find一些解决scheme,但我真的找不到任何与运行rails命令时出现的错误相关的任何内容:

导轨生成模型书名:string摘要: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 

任何人都知道可能会导致这些错误?

出现此警告是因为您使用的是Ruby 2.4.0。

此版本引入了此更改:将Fixnum和Bignum统一为整数

在这里看到公告: https : //www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

警告来自作为导轨一部分的主动支持gem,将在即将发布的版本中进行修复。

现在你可以忽略这些警告。

更新: Rails 5.0.2已经发布 ,摆脱了警告。

我假设你正在使用Rails 5? 看看这个链接 (朝底部)。 看起来这些警告将会消失,释放#27458。

我通过更新导轨来修复我的

 bundle update rails 

如果主动支持中的这些弃用警告是您所看到的唯一警告,那么您可以通过传递带有-W0选项的RUBYOPT bashvariables来抑制这些警告。

所以,而不是rails server尝试: RUBYOPT="-W0" rails serverRUBYOPT="-W0" bin/rails server

在rails 5.0中,你可能希望习惯于使用bin / rails,而不仅仅是rails,因为这是全球的rails版本,可能与你的本地rails版本不一样。