Я не могу заставить работать send_file (Model.attachment.path). Он не дает сбоев, вместо этого он отправляет клиенту файл размером 0 байт, хотя имена файлов верны.
Эта проблема началась после того, как я сделал большой переход с Rails 2.3.8 на 3.
В ходе этой миграции произошло много других событий, и я постараюсь подробно описать все из них.
Я переместил вложения через ftp, поскольку они не были частью моих репозиториев git, поэтому они были опубликованы с помощью cap deploy, вместо ручного удаленного ftp (RHEL5) на локальный (Win7 ), затем с локального (Win7) на удаленный (Ubuntu10).
Я знаю, что FTP-соединение не сохраняет права доступа к файлам при передаче, поэтому я также имитировал chmod-файлы, которые были на моих предыдущих серверах, поэтому они почти идентичны. (пользователи / группы разные, установлены в root: root вместо olduser: olduser).
Фрагмент запроса на загрузку вложения из моего производственного журнала.
Started GET "/attachments/replies/1410?1277105698" for 218.102.140.205 at 2010-09-16 09:44:31 +0000
Processing by AttachmentsController#replies as HTML
Parameters: {"1277105698"=>nil, "id"=>"1410"}
Sent file /srv/app/releases/20100916094249/attachments/replies/UE0003-Requisition_For_Compensation_Leave.doc (0.2ms)
Completed 200 OK in 78ms
Все в порядке. Позвольте мне также исключить локальные проблемы, я пробовал загружать через Chrome как на Win7, так и на Ubuntu (на Vbox).
Позвольте мне также заверить вас, что путь действительно правильный.
root@li162-41:/srv/app/current# tail /srv/app/releases/20100916094249/attachments/replies/UE0003-Requisition_For_Compensation_Leave.doc
#
#
%17nw
HQ��+1ae����
%33333333333(��QR���HX�"%%��@9
��@�p4��#P@��Unknown������������G��z �Times New Roman5��Symbol3&�
�z �Arial5&�
Подводя итог вопросу, как мне заставить send_file отправлять файлы вместо фальшивого 0-байтового мусора.