在Ruby on Rails 4.0.2中重命名项目

时间:2014-02-08 07:07:04

标签: ruby-on-rails ruby github

我知道rails(https://github.com/get/Rename)的Rename插件,但有没有人知道在Rails 4.0.2中轻松重命名项目的方法,因为从Rails 4开始不推荐使用插件?

4 个答案:

答案 0 :(得分:1)

只考虑你已经使用过

rails new blog

这将创建一个博客应用程序。现在,如果要重命名文件夹博客,只需使用

$mv blog blog_new

这将只重命名文件夹,应用程序将运行没有问题,因为外部文件夹名称更改不会影响应用程序。否则,您需要更改srt32指定的每个文件,但我没有看到任何从内部更改项目名称的具体原因。

答案 1 :(得分:0)

输入以下命令

$ rails new ProjectToRename
$ cd ProjectToRename
$ grep -ri 'project_?to_?rename' 

终于完成了。

您需要自己重命名顶级目录:

$ cd ..
$ mv ProjectToRename SomeNewName

答案 2 :(得分:0)

假设您的应用名称是my_app,您可以从项目的根目录运行类似grep -r 'my_app' .的内容,并找到引用应用名称的所有位置。更新它们应该不是那么糟糕。地方列表应该类似于:

  • 配置/ application.rb中
  • 到config / environment.rb
  • 配置/环境/ development.rb
  • 配置/环境/ test.rb
  • 配置/环境/ production.rb
  • 配置/初始化/ secret_token.rb
  • 配置/ routes.rb中
  • Rake文件

答案 3 :(得分:0)

我已经编写了以下脚本来做到这一点。您也可以在https://gist.github.com/danielpclark/8dfcdd7ac63149323bbc

看到它
#!/usr/bin/ruby
# Rename Rails Project (File: rename_rails)
# Copyright 6ft Dan(TM) / MIT License
# Check the config/application.rb for capital usage in project name by model OldProjectName
# Usage: rename_rails OldProjectName NewAwesomeName

# Replace string instances of project name   
`grep -lR #{ARGV[0]} | xargs sed -i 's/#{ARGV[0]}/#{ARGV[1]}/g'`
`grep -lR #{ARGV[0].downcase} | xargs sed -i 's/#{ARGV[0].downcase}/#{ARGV[1].downcase}/g'`

# Rename Rails directory if it exists
if File.directory?(ARGV[0])
    `mv #{ARGV[0]} #{ARGV[1]}`
    drc = ARGV[1]
elsif File.directory?(ARGV[0].downcase)
    `mv #{ARGV[0].downcase} #{ARGV[1]}`
    drc = ARGV[1]
end

# Delete temporary files (helps prevent errors)
drc ||= ''
if ['cache','pids','sessions','sockets'].all? {
        |direc| File.directory?(File.join(drc,'tmp', direc)) }
    FileUtils.rm_rf(File.join(drc,'tmp'))
end

我在YouTube上创建了一个howto视频。 http://youtu.be/dDw2RmczcDA