使用attachment_fu作为上传插件,因为的Mysql是通过apt-get install mysql的方式安装的,所以不是默认路径,在database.yml文件里已经加上了Socket: /var/run/mysqld/mysqld.sock,经过实验,发现一般数据库写入,执行migration均良好无任何问题。
但是使用attachemt_fu的时候问题来了,不知怎么的,它完全不理会我加入的mysql socket,一昧的在/tmp下寻找/mysql.sock,所以造成attachment_fu完全无法写入数据库。我没有自己看attachment_fu源码,不过用了一个比较简单的方法解决了这个问题,在/tmp下制作一个软连接,指向正确的sock位置。
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
经过测试,attachment_fu工作一切正常。