Rails 3.1:alias/images到/ assets目录

Dav*_*vid 2 ruby-on-rails nginx ruby-on-rails-3.1 asset-pipeline

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

这可能在Web服务器级别吗?我在nginx上.

Sha*_*wer 7

你可以在nginx中做到这一点

location /images {
    alias /usr/share/rails_app/public/assets/images;
}
Run Code Online (Sandbox Code Playgroud)

虽然我认为当你跑步时会出现更大的问题

rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

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