rails plugin install git://github.com/get/Rename.git
将允许我们仅重命名rails 3 app
是否有任何宝石可用于重命名Rails 4应用程序。
如果没有,建议我更好的重命名方式。
答案 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生成)。
相对于项目根目录的三个基本文件需要更新:
肯定有前面提到的更多位置,例如数据库等。希望这会有所帮助。
答案 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 进行测试,所以我选择了手动路线。
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