Rails 3.1:alias / images到/ assets目录

时间:2011-10-18 23:29:45

标签: ruby-on-rails nginx ruby-on-rails-3.1 asset-pipeline

我正在升级到rails 3.1,我需要让/ images目录成为/ assets的别名。这可能吗?原因是我不希望我发送给客户的电子邮件,这些电子邮件直接链接到/ images中的文件。

这是否可以在Web服务器级别进行?我在nginx上。

1 个答案:

答案 0 :(得分:7)

您可以在nginx

中执行此操作
location /images {
    alias /usr/share/rails_app/public/assets/images;
}

虽然我认为当你运行

时会出现更大的问题
rake assets:precompile

它会为你的图片添加一个md5hash字符串。添加此哈希字符串以强制浏览器下载更改的图像,因此它不使用浏览器缓存。由于图像的名称会有所不同。使用nginx将旧图像托管在静态目录中可能更有意义。