最近我在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
答案 0 :(得分:50)
当我执行bundle update
时,Rails 5.0.0.1和ruby 2.2.0发生了这种情况。它与Rails或Ruby无关,而是由thor gem(jquery-rails的依赖性)从0.19.1升级到0.19.4而引起的。
降级至0.19.3并没有解决问题。 0.19.2抛出其他错误。降级到0.19.1最终修正了它。
将此添加到您的Gemfile:
gem 'thor', '0.19.1'
并且运行bundle update thor
应该摆脱这个,直到Thor维护者可以解决这个问题。 (更新:Github issue)