В моем приложении rails 3 simple_captcha не отображает изображение в производственном режиме - PullRequest
7 голосов
/ 04 мая 2011

simple_captcha работает на моем компьютере разработчика, но не на моем общем хостинг-сервере (Dreamhost).

ImageMagick установлен и RMagick в порядке.Что может быть не так?

Я проверил журнал, и он не показывает никаких сообщений об ошибках.

Started GET "/simple_captcha/0245065ca02e2f4fadc22b3f08e1357ea74221f8?time=1304535698" for 99.122.173.225 at Wed May 04 12:01:38 -0700 2011

Когда я набираю адрес (/ simple_captcha / 0245065ca02e2f4fadc22b3f08e1357ea74221f8? Time = 1304535698),он говорит, что «изображение не может быть отображено, потому что оно содержит ошибки».

Есть идеи, что случилось?

Спасибо.

Сэм

Ответы [ 2 ]

6 голосов
/ 28 июня 2011

Вы пытались закомментировать

config.action_dispatch.x_sendfile_header = "X-Sendfile" 

линия?

Найдено здесь: Rails отправляет 0-байтовые файлы, используя send_file

3 голосов
/ 12 мая 2011

У меня была такая же проблема на сервере под управлением Ubuntu 10.10 + Nginx + Passenger.

Я нашел решение в этой теме: http://www.mail-archive.com/heroku@googlegroups.com/msg06836.html

simple_captcha использует send_file для отправки изображения в браузер. Поэтому вам нужно включить XSendfile в вашей производственной среде. Вы можете сделать это, поместив эту строку в вашу среду / production.rb:

config.action_dispatch.x_sendfile_header = "X-Sendfile"

В случае, если вы используете nginx, вы должны вместо этого использовать X-Accel-Redirect. Смотри http://wiki.nginx.org/XSendfile

config.action_dispatch.x_sendfile_header = "X-Accel-Redirect"
...