【问题标题】:Rails, Rake, moving a folder to a new locationRails,Rake,将文件夹移动到新位置
【发布时间】:2010-03-16 10:50:45
【问题描述】:

我需要将文件夹从插件移动到主应用程序/视图。我想使用 rake 使用以下命令执行此操作是最简单的方法:

 require 'fileutils'
 FileUtils.mv('/vendor/plugins/easy_addresses/lib/app/views', '/app/views/')

我只是不确定在哪里告诉脚本在哪里查找以及在哪里放置文件夹。

我要移动的文件位于以下位置:`vender/plugins/easy_addresses/lib/app/views/easy_addresses

easy_addresses 是views 中我要移动到my_app/app/views/ 的文件夹的名称

【问题讨论】:

  • 我对这个问题感到困惑。您是在问如何移动目录,或者在哪里移动它的最佳做法是什么,或者其他什么?
  • 我需要将文件夹从插件移动到主应用程序/视图

标签: ruby-on-rails ruby rake


【解决方案1】:
FileUtils.mv('/source/', '/destination/')

【讨论】:

  • cp_r 而不是 mv 将复制文件。
【解决方案2】:

有一个具有 rails 根的常量,只需将其添加到您的路径:

File.join(RAILS_ROOT, "app", "views")

这里RAILS_ROOT 保存位置“查找位置”,在路径组件上使用File.join 负责使用适合所用系统的正确路径分隔符连接组件。

在结果中,上述方法调用为您提供了应用程序中“app/views”的完整绝对路径。

编辑:

Rails >= 3 中,您可以使用 Rails.root.join('app', 'views')

【讨论】:

  • 为什么你的方法比下面的评论更好:
  • FileUtils.mv('vendor/plugins/easy_addresses/lib/app/views/easy_addresses/', 'app/views/')
  • 我认为他是在询问如何通过说“在哪里查找”来获取应用程序的根目录。使用 File.join 而不是使用“/”连接目录可以使您的应用程序可移植到使用其他路径分隔符的系统。
猜你喜欢
  • 2015-04-02
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
相关资源
最近更新 更多