保存不在公共/资产下但在不同文件夹下的文件

时间:2018-01-10 12:33:52

标签: ruby-on-rails apache

我有一个Rails项目。

我的文件配置为保存在RAILS_ROOT/public/assets下。

现在我们正在迁移到新服务器,我想要读取所有文件并将其保存到不同的文件夹中。让我们说/extra_drive,它位于与Rails应用程序不同的文件夹中(甚至不在/var/www/html下)。

我该怎么做?用Apache?配置Rails?

2 个答案:

答案 0 :(得分:0)

这样做的一种方法是利用现代文件系统功能,例如symbolic link或bind mount。 因此,在将文件移动到新位置(例如/ extra_drive)之后,您可以创建一个符号链接,如

    var mailer = require('../../utils/mailSender');

var locals = { name: "New User", siteName: "Takwinland" };
                        mailer.sendMail('contact@takwinland.com', "dhaker.odesk@gmail.com", 'Welcome!', 'signup', locals).then(function () {
                          res.status(200).send('A welcome email has been sent to ' + "dhaker.odesk@gmail.com" + '.');
                        }, function (err) {
                          if (err) { return res.status(500).send({ msg: err.message }); }
                        });

答案 1 :(得分:0)

我是这样做的:

在asset.rb模型中,我更改了has_attached_file

自:

:url =>  "/assets/:month/:day/:name.:extension",
:path => ":rails_root/public/assets/:month/:day/:name.:extension"

要:

:url =>  "/user_files/:month/:day/:name.:extension", 
:path => "../../../../extra_drive/:month/:day/:name.:extension" 

然后,在apache配置文件中我添加了:

Alias "/user_files" "/extra_drive"