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

问题描述 投票:0回答:1

最近我在 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
ruby-on-rails rails-migrations
1个回答
52
投票

当我使用 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
应该可以解决这个问题,直到雷神维护者可以解决这个问题。

更新1: Github问题

更新 2:这应该通过 thor v0.20+ 解决

© www.soinside.com 2019 - 2024. All rights reserved.