如何重命名rails 4 app?

时间:2014-01-08 06:49:46

标签: ruby-on-rails-3 ruby-on-rails-4

rails plugin install git://github.com/get/Rename.git将允许我们仅重命名rails 3 app

是否有任何宝石可用于重命名Rails 4应用程序。

如果没有,建议我更好的重命名方式。

11 个答案:

答案 0 :(得分:134)

由于rails 4.1.x ,如果要重命名应用程序,则需要修改的唯一两个文件是config/application.rb

require File.expand_path('../boot', __FILE__)

require 'rails/all'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

module YourApplicationName # <-- rename it here
   class Application < Rails::Application
     ...
   end
end

config/initializers/session_store.rb(可选):

# Be sure to restart your server when you modify this file.

Rails.application.config.session_store :cookie_store, key: '_your_application_name_session' # <-- rename the key

对于Rails 4.0.x ,您可以使用rename gem并执行以下命令:

rails g rename:app_to New-Name

这将为您更新必要的文件:

old/ (master)  › rails g rename:app_to new
Search and replace module in to...
    gsub  config.ru
    gsub  Gemfile
    gsub  Gemfile.lock
    gsub  Rakefile
    gsub  README.md
    gsub  config/application.rb
    gsub  config/boot.rb
    gsub  config/environment.rb
    gsub  config/environments/development.rb
    gsub  config/environments/production.rb
    gsub  config/environments/test.rb
    gsub  config/initializers/backtrace_silencers.rb
    gsub  config/initializers/filter_parameter_logging.rb
    gsub  config/initializers/inflections.rb
    gsub  config/initializers/load_class_extensions.rb
    gsub  config/initializers/mime_types.rb
    gsub  config/initializers/secret_token.rb
    gsub  config/initializers/session_store.rb
    gsub  config/initializers/update.rb
    gsub  config/initializers/wrap_parameters.rb
    gsub  config/routes.rb
    gsub  config/initializers/session_store.rb
Renaming references...
Renaming directory...Done!
New application path is '/Users/username/code/new'

答案 1 :(得分:37)

添加

gem 'rename'到Gemfile

然后

bundle install

之后

rails g rename:app_to name_of_app

如果您使用mongoid,则需要在config/mongoid.yml

中重命名数据库名称

答案 2 :(得分:29)

有两种方法:

1。手动(对于Rails 4.1.x)

您需要手动查找对应用程序名称的引用。您需要手动更改它们。以下是一些常用的地方:

config/application.rb
config/environment.rb
config/environments/development.rb
config/environments/production.rb
config/environments/test.rb
config/initializers/secret_token.rb
config/initializers/session_store.rb
config/routes.rb
config.ru
    app/views/layouts/application.html.erb
Rakefile

2。自动(对于Rails 3和4.0.X)

或者您可以使用rename gem并执行以下命令:

rails g rename:app_to New-Name

答案 3 :(得分:22)

Rails 5

<强>需要

  • config/application.rb更改模块名称

<强>可选

  • config/initializers/session_store.rb(在Rails.application.config.session_store中)更改会话名称
  • app/views/layouts/application.html.erb您可以更改<title>...</title>(如果尚未完成)

答案 4 :(得分:16)

我刚刚在基本的rails 4 app中使用了这个rename gem:

https://github.com/morshedalam/rename

这与get的版本完全不同。


易于使用:

将其添加到Gemfile:

gem 'rename'

并运行:

rails g rename:app_to NewName

似乎诀窍,
它还更新了我的rubymine .idea项目设置:)

答案 5 :(得分:9)

Rails 4.2 中,只需更改application config文件

即可
config/application.rb

和config / initializers / session_store.rb(可选):

Rails.application.config.session_store :cookie_store, key: '_your_application_name_session' # <-- rename the key

然后重新启动服务器。

就是这样!

答案 6 :(得分:0)

这是专门针对Rails 4的宝石 https://github.com/negativetwelve/rails-rename (我还没有用它,但看起来很好)

此处列出的其他宝石仅针对Rails 3

答案 7 :(得分:0)

在Rails 5.x中,手动进行

使用ag(https://github.com/ggreer/the_silver_searcher),有些文件使用默认文件夹名称(如果通过rails new生成)。

相对于项目根目录的三个基本文件需要更新:

  • config / cable.yml> channel_prefix:
  • config / environments / production.rb>#config.active_job.queue_name_prefix
  • package.json>名称

肯定有前面提到的更多位置,例如数据库等。希望这会有所帮助。

答案 8 :(得分:0)

对于5.2导轨

gem 'rename'添加到gemfile

bundle install

rails g rename:into your_new_app_name

答案 9 :(得分:0)

如何重命名 Rails 6.1.3 应用程序

根据他们的文档,“重命名”gem 目前似乎没有针对 Rails 6 进行测试,所以我选择了手动路线。

  • config/database.yml(重命名 3 个数据库)
  • config/application.rb(重命名模块)
  • package.json(重命名包名)
  • README.md(以防它提到您的旧应用名称)
  • app/views/layouts/application.html.erb(重命名标题)
  • config/cable.yml(将 Channel_prefix 数据库命名为新的生产数据库)
  • 运行 npm install 以便注册您之前在 package.json 中更新的 name 属性。
  • 运行迁移rails db:migrate
  • 启动您的服务器 rails s

答案 10 :(得分:0)

对于 Rails 6.1,这是我所做的: 重命名模块 config/application.rb 运行bundle install 并运行 rails db:migrate

之后运行 rails c 然后 Rails.application.class.module_parent.name