ruby-on-rails Ruby on Rails中“Expected string default value for ...”的含义

tyg4sfes  于 5个月前  发布在  Ruby
关注(0)|答案(1)|浏览(58)

最近我在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


这些关于 “Expected string default value for." 的消息是什么意思?
先谢了。

更新:我的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

xe55xuns

xe55xuns1#

当我使用Rails 5.0.0.1和ruby 2.2.0执行bundle update时,这发生在我身上。它与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的维护者可以解决这个问题。

更新1:Github issue
更新2:这个问题应该用thor v0.20+解决

相关问题