Lチカ開発ブログ

https://l-chika.com/の開発ブログ

RailsでExpected string default value for '....'

Rails5で開発していたら、generateで Expected string default value for というメッセージが表示された。

$ ./bin/rails g controller pages main --no-helper --no-assets
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)
Expected string default value for '--helper'; got true (boolean)
Expected string default value for '--assets'; got true (boolean)
      create  app/controllers/pages_controller.rb
       route  get 'pages/main'
      invoke  erb
      create    app/views/pages
      create    app/views/pages/main.html.erb

調べると、thor が原因。バージョンを明示して、bundle installをすれば、メッセージが表示されなくなる

$ vim Gemfile
gem 'thor', '0.19.1'

参考

stackoverflow.com

qiita.com