2014-02-08 29 views

回答

0

輸入以下命令

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

最後完成。

你需要重命名自己的頂級目錄:

$ cd .. 
$ mv ProjectToRename SomeNewName 
+0

http://stackoverflow.com/questions/3270373/renaming-ruby-on-rails-application檢查此鏈接也 – user3241004

0

假設你的應用程序名稱是my_app應用,你可以從你的項目的根目錄運行類似grep -r 'my_app' .並找到所有地方的應用名稱被引用。去更新它們應該不是那麼糟糕。地方名單應該是這個樣子:

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

試想,你用

rails new blog 

這將創建一個博客應用程序。現在,如果你要重命名的文件夾中的博客,只是使用

$mv blog blog_new

這將只是重命名文件夾和應用程序將沒有問題運行外部文件夾的名稱更改不會影響應用程序。否則,你需要按照srt32的規定更改每個文件,但是我沒有看到任何具體的原因從裏面改變項目名稱。

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