我通常在我的本地Dropbox文件夹中开发。 tmp文件夹中的某些文件被浏览器锁定(并使Dropbox忙碌),Growl会抛出异常等等。
因此我正在寻找一个配置设置来将tmp-folder放在Rails-app包之外。这可能吗?
答案 0 :(得分:6)
不是您正在寻找的答案 - 但我可以肯定地说,没有配置选项来改变Rails认为tmp文件夹的位置。该位置在Rails代码库中的许多不同位置进行了硬编码。
看起来符号链接将同步原始文件,因此您可能会遇到相同的锁定问题。
如果你,那么你可以反过来使用符号链接来解决你的问题,即。在您的保管箱中创建外部项目,并将tmp
以外的所有内容符号链接到保管箱中的文件夹中。
所以你可能会在~/work/rails_project/<all the rails dirs including tmp>
中找到你的Rails应用,然后你会在你的保管箱中找到一个相应的目录,比如~/dropbox/rails_project
,然后在里面,你就可以了手动创建一堆符号链接然后删除tmp
符号链接,使用bash你会这样做:
$ for f in ~/work/rails_project/*; do ln -s $f; done
$ rm tmp
如果您曾在应用的根目录中添加新文件/目录,则需要记住再次运行。
答案 1 :(得分:4)
ENV['TMPDIR'] = Rails.root.join('tmp')
答案 2 :(得分: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
了解更多信息答案 3 :(得分:1)
您可以使用选择性同步排除在Dropbox中同步的目录:http://www.dropbox.com/help/175/en
基本上选择Dropbox偏好设置并进入高级。选择选择性同步,然后查找要从同步中排除的文件夹[如果你必须深入到第一级目录深度,还有一个高级视图]