"Ожидаемое значение строки по умолчанию для` --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