5

我通常在本地 Dropbox 文件夹中开发。tmp 文件夹中的一些文件被浏览器锁定(并使 Dropbox 保持忙碌),Growl 抛出异常等等。

因此,我正在寻找将 tmp 文件夹放在 Rails-app 包之外的配置设置。那可能吗?

4

4 回答 4

6

不是您正在寻找的答案 - 但我可以肯定地说,没有配置选项可以更改 Rails 认为 tmp 文件夹的位置。该位置在 Rails 代码库的许多不同位置都被硬编码。

看起来符号链接同步原始文件,因此您可能会遇到相同的锁定问题。

如果你这样做了,那么你可以反过来使用符号链接来解决你的问题,即。在您的 Dropbox之外创建您的项目,并将除此之外的所有内容符号链接tmp到您的 Dropbox 中的文件夹中。

所以你可能有你的 Rails 应用程序,~/work/rails_project/<all the rails dirs including tmp>然后你会在你的 Dropbox 中有一个相应的目录,就像~/dropbox/rails_project然后那个目录中你将手动创建一堆符号链接,然后删除tmp一个,使用 bash 你会这样做:

$ for f in ~/work/rails_project/*; do ln -s $f; done
$ rm tmp

如果您曾经将新文件/目录添加到应用程序的根目录,则需要记住再次运行它。

于 2011-04-26T17:34:05.993 回答
4
ENV['TMPDIR'] = Rails.root.join('tmp')
于 2011-05-11T02:17:36.730 回答
2

您不能更改 tmp 目录,但可以配置 tmp 缓存目录。

# config/application.rb
config.cache_store                   = [ :file_store, "/tmp/rails-cache/" ]
config.assets.cache_store            = [ :file_store, "/tmp/rails-cache/assets/#{Rails.env}/" ]

您可以在configuration.rb阅读更多内容

于 2012-11-27T03:54:14.297 回答
1

您可以使用选择性同步将目录排除在 Dropbox 中同步:http ://www.dropbox.com/help/175/en

基本上选择 Dropbox 首选项并进入高级。然后选择 Selective Sync 并查找要从同步中排除的文件夹[如果您必须进入比第一级目录深度更深的目录,还有一个高级视图]

于 2013-01-26T14:16:54.850 回答