1

Предоставляет ли Rails 4.2 единую команду, которая регенерирует config/application.rb в существующем приложении?Как восстановить config/application.rb в Rails 4.2?

Причина, по которой я прошу, представить себе Rails-приложение: rails new -ed без опции --skip-test-unit.

Затем, в гораздо более позднюю дату, это приложение переключается на RSpec. Как можно регенерировать config/application.rb, как если бы --skip-test-unit был первоначально поставлен на rails new ...?

Все это будет эффективно сделать, это изменить require заявления в верхней части config/application.rb файла из:

require 'rails/all' 

к:

require "rails" 
# Pick the frameworks you want: 
require "active_model/railtie" 
require "active_job/railtie" 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
require "sprockets/railtie" 
# require "rails/test_unit/railtie" 
+1

Я не пробовал это, но разве вы не могли просто запустить 'rails new --skip-test-unit' в новый каталог и скопировать' config/application.rb' в существующее приложение? –

+0

Спасибо @iqnivek, да, это будет работать точно и будет прекрасным решением. Возможно, есть еще более легкое решение. –

ответ

3

Удалить существующий config/application.rb и, в каталоге выше в корне проекта, запустите rails new ... с нужными параметрами, включая имя каталога приложений, и опцию --skip-test-unit, и--skip вариант, который делает rails new ... пропуска создания файлов, которые уже существуют:

# Inside your-rails-app/ directory: 

# 1. Remove config/application.rb 
rm config/application.rb 

# 2. Move up one directory 
cd .. 

# 3. Regenerate rails application with the --skip 
# option, using the name of your-rails-app. The 
# --skip option will not generate files that 
# already exist. 
#  
# This assumes you have rails installed as a global 
# gem, of the version given in the command (version 
# x.y.z in this case, replace with the version of Rails 
# your app uses, e.g. 4.2.88): 
rails _x.y.z_ new your-rails-app --skip --skip-test-unit 

# 4. Run git status to see if any files were unexpectedly added 
# (for example the README.rdoc file will be created 
# if it did not exist). 
git status 

# 5. Clean up and commit the changes you want. 

И это все!

Смежные вопросы