用雄辩的方式重命名文件名

时间:2014-07-30 10:29:26

标签: ruby-on-rails ruby

File.rename(blog_path + '/' + project_path, File.expand_path(topic_name, blog_path))

我使用这些代码重命名ruby文件名,但我认为有更好的方法用更少的代码编写此功能,因为它包括blog_path两次。

1 个答案:

答案 0 :(得分:1)

代码没问题,但我认为这里不需要expand_path - 这个方法从相对的路径创建一个绝对路径。

此外,最好使用File.join创建路径,而不是将其与斜杠连接 - 它将完全独立于操作系统。所以我会写这样的代码:

File.rename(File.join(blog_path, project_path), File.join(blog_path, topic_name))

或者如果你想摆脱加倍的blog_path,在重命名之前改变工作目录:

Dir.chdir(blog_path)
File.rename(project_path, topic_name)

有关使用Ruby中的文件和目录的更多信息,请参阅文章:Ruby for Admins: Files and Directories