【问题标题】:How to regenerate config/application.rb in Rails 4.2?如何在 Rails 4.2 中重新生成 config/application.rb?
【发布时间】:2015-05-09 21:03:29
【问题描述】:

Rails 4.2 是否提供在现有应用程序中重新生成config/application.rb 的单个命令?

我问的原因是想象一个 Rails 应用程序是 rails new-ed 没有 --skip-test-unit 选项。

然后在很久以后,这个应用程序被切换到 RSpec。如何重新生成 config/application.rb,就好像 --skip-test-unit 选项最初提供给 rails new ... 一样?

所有这一切实际上都会改变config/application.rb文件顶部附近的require语句:

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"

【问题讨论】:

  • 这个我没试过,但是你不能直接运行rails new <AppName> --skip-test-unit到一个新目录然后把config/application.rb复制到你现有的应用程序吗?
  • 谢谢@iqnivek,是的,这肯定会起作用,并且是一个很好的解决方案。也许有一些更轻量级的解决方案。

标签: ruby-on-rails rspec-rails minitest ruby-on-rails-4.2 rails-generate


【解决方案1】:

删除现有的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.

就是这样!

【讨论】:

    猜你喜欢
    • 2015-03-12
    • 2017-08-29
    • 2019-08-31
    • 2013-09-25
    • 2012-07-13
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多