"Ожидаемое значение строки по умолчанию для` --jbuilder`; ошибка true (boolean)" в новом проекте рельсов

Я начинаю новый проект и делал это сейчас. Тем не менее, это первый раз, когда я столкнулся с этой проблемой!

Я создал приложение как обычно rails new myapp -d postgresql

Я создал БД с помощью rails db:create и запустил сайт rails s. Все это работает, и я вижу страницу приветствия/холдинга Rails.

Теперь я начинаю создавать свои модели, например, rails g model user. И я получаю это!

Expected string default value for `--jbuilder`; got true (boolean)
      invoke  active_record

The name 'User' is either already used in your application or reserved by Ruby on 
Rails. Please choose an alternative and run this generator again.

Хорошо, это достаточно понятно, я понимаю сообщение об ошибке. Поэтому я подумал, что попытаюсь создать другую модель. Когда я запускаю rails g model testing, и я получаю...

Running via Spring preloader in process 31815
Expected string default value for '--jbuilder'; got true (boolean)
      invoke  active_record
      create    db/migrate/20161217171019_create_testings.rb
      create    app/models/testing.rb
      invoke    test_unit
      create      test/models/testing_test.rb
      create      test/fixtures/testings.yml

У кого-нибудь еще была эта проблема, и если да, то почему? Я пробовал работать bundle install и bundle update без везения. Я также попытался установить версию тора, как указано в этом сообщении

Я использую Rails 5.0.0.1 и Ruby 2.3.1. Я заметил, что это только что началось, так как я сделал обновление до macOS до 10.12.1. Я не уверен, связаны ли они.

Update

Итак, я начал проверять это. И я создал пару различных проектов "rails new testapppg" и "rails new testapp-pg".

В обоих приложениях я изменил драгоценный камень gem 'thor', '0.19.1'. Затем я продолжил обновление пакета и создал БД. Теперь оба этих проекта создали тестовые модели при запуске rails g model sample

Круто! Так что это исправление. Итак, я вернулся и воссоздал свое приложение для работы с pxl-insight, обновил драгоценный камень, создал БД. Теперь, когда я пошел создавать модель, я снова получаю ошибки!?

Итак, мой следующий вопрос - это имена проектов кеша Rails? поэтому новые проекты работали нормально, но ошибка с предыдущим именем вызывает ошибку?

Ответы

Ответ 1

Вчера я получил эту ошибку. Я также исправил понижение уровня драгоценности. gem 'thor', '0.19.1' Когда я захотел создать снова мое приложение с тем же именем или моделью в командной строке, оно висело в течение длительного периода, и ничего не случилось. Я попытался закрыть и снова открыть терминал (другие утверждали, что работали на них, поэтому это может быть другое решение), но это не сработало для меня.

Я исправил его, удалив каталог /bin в моем проекте и запустив: bundle install --binstubs, который снова восстановит каталог bin. Вероятно, некоторые пути из предыдущего проекта были в каталоге bin.

Я надеюсь, что это поможет

Ответ 2

Попробуйте установить Thor явно на нужную вам версию.

В моем Gemfile я установил версию в 0.19.1, и я также отклоняю версии, которые, как я знаю, плохи, в случае, если товарищ по команде редактирует файл или защищает приложение, если партнер по команде запускает обновление пакета.

Пример:

rails new myapp -d postgresql --skip-bundle
cd myapp
echo "gem 'thor', '0.19.1', '!=0.19.2', '!=0.19.3', '!=0.19.4'" >> Gemfile
bundle install --binstubs=binstubs --path vendor/bundle
bin/rails generate controller Welcome index