Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Не получается показать картинку из бд (Fleximage)


Автор: maep 24.9.2008, 10:33
Добрый день!
Уже неделю воюю с плагином Fleximage.
На данном этапе боевых действий проблема следующая:
Хочу показать загруженное в базу изображение. А не могу.

В моделе account (acts_as_fleximage) есть поле image_file_data, туда загружаются картинки (проверено, картинки есть).

В представлении "edit" хочу картинку показать.
Делаю так:

В контроллере account_controller есть метод

   def image
     @account = Account.find(params[:id])
     render_flex_image(@account)
   end

В представлении имеем такое:

<%= image_tag url_for(:action => 'image', :id => @account) %>

В сгенеренном html получается:

<img alt="2" src="/accounts/image/2" />

В качестве картинки же я вижу циферку 2 (это ид) в квадратике.

Что я не так сделал, или не сделал чего? 

Интересно следующее: если в  методе вставить проверку @account.has_image?,
в логе веб сервера появляется ошибка (что смущает)

script/server: No such file or directory - cl -nologo -LD   -MD -Zi -O2b2xg- -G6 -I c:/ruby/lib/ruby/1.8/i386-mswin32  -I c:/ruby/include -Lc:/ruby/lib -o "C:\\Documents and Settings\\USER/.ruby_inline/Inline_ImageScience_aa58.so" "C:/Documents and Settings/USER/.ruby_inline/Inline_ImageScience_aa58.c" -lfreeimage -lstdc++  -link /LIBPATH:"c:/ruby/lib" /DEFAULTLIB:"msvcrt-ruby18.lib" /INCREMENTAL:no /EXPORT:Init_Inline_ImageScience_aa58

Спасибо за ответы!

Автор: source777 24.9.2008, 22:31
Цитата(maep @  24.9.2008,  10:33 Найти цитируемый пост)
C:\\Documents and Settings\\USER
А это ещё откуда? давно уж пора на Linux перейти...

Автор: maep 25.9.2008, 04:29
насчет @account.has_image? : мой косяк, там метод переопределен для другого плагина, который я не стал использовать, так что не обращайте внимание. Картинка все равно не отображается...

А на линукс переходить пока нет желания....


Автор: source777 25.9.2008, 10:15
Цитата(maep @  25.9.2008,  04:29 Найти цитируемый пост)

А на линукс переходить пока нет желания....

Если веб-программированием хочешь заниматься, то можешь считать что желание есть smile 

Вон у тебя so ищется, а откуда ему под виндой взяться?
Цитата(maep @  24.9.2008,  10:33 Найти цитируемый пост)
Inline_ImageScience_aa58.so


Автор: maep 25.9.2008, 12:19
source777, 
как оказалось, ошибка с Inline_ImageScience_aa58.so - это вообще из другой оперы (что я указал в своем предыдущем постеsmile).

К тому же я  пока  не вижу прямой связи между веб программированием (на Rails) и переходом на линукс smile. Священные войны воевать не хочу, а вот проблему  с картинами решить хотелось бы...

Автор: source777 25.9.2008, 12:25
Цитата(maep @  25.9.2008,  12:19 Найти цитируемый пост)
К тому же я  пока  не вижу прямой связи между веб программированием (на Rails) и переходом на линукс 
Связь прямая: разворачивать приложение ты будешь под *nix, и если ты не знаешь его хотя бы на уровне пользователя, то это станет для тебя знатным геммороем.

Цитата(maep @  25.9.2008,  12:19 Найти цитируемый пост)
проблему  с картинами решить хотелось бы...
скажи хоть, в винде твоей хотя бы RMagick & ImageMagic установлены?

Добавлено через 2 минуты и 44 секунды
Что показывает браузер при обращении к URL /accounts/image/2 напрямую? Что приэтом сбрасывается в лог? 

Автор: maep 26.9.2008, 04:43
Разворачивать приложение буду не я.

ImageMagick , Rmagick установлены: загрузка-то изображения в базу тоже использует эти библиотеки вроде как.

Если пойти на сгенеренный URL изображения (сделать в браузере "открыть изображение") - то вылетает ошибка render_flex_image - метод не существует....

Тут я вычитал что _можно испольтзовать шаблоны ".flexi" 
Я вот думаю, может не "можно" а "нужно"? Тогда это все меняет, хотя этого самого "нужно" я нигде не встречал.
Кроме того. читал намеки. что надо прописывать маршруты и что то настраивать, но конкретики не попадалось.
Скудна информация...

И еще,  описывается способ показа изображения <%= image_tag formatted_<my_controller>_path(@photo, :jpg) %>
Я так понимаю, это должно рабтать только при хранении файлов? И в таком ключе невозможно преобразовывать изображение?

Автор: source777 26.9.2008, 10:31
Цитата(maep @  26.9.2008,  04:43 Найти цитируемый пост)
Если пойти на сгенеренный URL изображения (сделать в браузере "открыть изображение") - то вылетает ошибка render_flex_image - метод не существует....
Ну... и о чём это тебе говорит? Учись уже сам разбираться с ошибками, или ты думаешь, что все прям кинулись устанавливать себе этот плагин и искать твою проблему?

Автор: maep 29.9.2008, 04:12
Митя... остынь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)