Ruby on Rails上“预期的字符串默认值为…”的含义

最近我在Rails(5.0.0.1)上为Ruby(2.3.3)创建了一个应用程序:

$ rails _5.0.0.1_ new myapp --database=postgresql -T 

设置Gemfile并测试与我的数据库的连接后:

 $ rails db:migrate 

我试图生成模型,但我收到了奇怪的消息:

 $ rails g model Competition title:string Expected string default value for '--test-framework'; got false (boolean) Expected string default value for '--jbuilder'; got true (boolean) Expected string default value for '--test-framework'; got false (boolean) invoke active_record create db/migrate/20161206021603_create_competitions.rb create app/models/competition.rb 

这些消息的含义是什么? “预期的字符串默认值为…”

提前致谢。

更新 :我的Gemfile

 source 'https://rubygems.org' ruby '2.3.3' gem 'rails', '~> 5.0.0', '>= 5.0.0.1' gem 'pg', '~> 0.18' gem 'puma', '~> 3.0' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> 4.2' gem 'jquery-rails' gem 'turbolinks', '~> 5' gem 'jbuilder', '~> 2.5' gem 'jquery-turbolinks' gem 'groupdate' gem 'hightop' gem 'countries' gem 'faker' gem 'haml' gem 'haml-rails' group :development, :test do gem 'byebug', platform: :mri gem 'better_errors' gem 'binding_of_caller' gem 'pry-byebug' gem 'awesome_print' gem 'irbtools-more', require: 'irbtools/binding' gem 'listen' end 

当我执行bundle update时,Rails 5.0.0.1和ruby 2.2.0发生了这种情况。 它与Rails或Ruby无关,而是由于来自0.19.1到0.19.4的thor gem (这是jquery-rails的依赖性)的升级而引起的。

降级至0.19.3并没有解决问题。 0.19.2抛出其他错误。 降级到0.19.1最终修正了它。

所以将它添加到您的Gemfile:

 gem 'thor', '0.19.1' 

并且运行bundle update thor应该摆脱这个,直到thor维护者可以解决这个问题。 (更新: Github问题 )