Как я могу генерировать изображения в режиме реального времени, используя Ruby on Rails и Gruff? - PullRequest
1 голос
/ 29 апреля 2011

Я рисую гистограммы в своем приложении, используя грубость.В одном представлении «сравнить» я хочу показать один график для каждого «шага» моего «проекта».Я представляю это примерно так:

image_tag graph_step_path(step)

Я создал действие 'graph' в контроллере шага и включил маршрут.Но сейчас я как бы потерялся.Как мой контроллер может вернуть правильный путь к изображению функции image_tag?Делать «возврат» не кажется правильным.Или я мог бы как-то напрямую включить изображение, созданное с помощью gruff?

edit:

Я создал вспомогательную функцию, которая создает график и возвращает путь к файлу.

1 Ответ

5 голосов
/ 29 апреля 2011

В вашем методе контроллера вы хотите вернуть фактическое изображение вместо пути.Запись изображений на диск для каждого запроса будет очень медленной.Для этого используется метод send_data в rails.

send_data(g.to_blob, :filename => "any.png", :type => 'image/png', :disposition=> 'inline')

g - ваш грубый экземпляр.Имя файла не имеет значения вообще.Источник вашего тега изображения должен быть просто конкретным методом контроллера, который генерирует ваш график.Вы можете использовать обычные помощники URL для генерации этого.

...