2013-11-21 4 views
3

У меня есть веб-приложение на Rails, и теперь я собираюсь засеять некоторые данные. Я застрял на показе изображения, которое сохраняется как тип blob в базе данных.Правильно отображает изображение, сохраненное в базе данных

В моей seeds.rb

user = User.find(1) 
file = File.open("db/seeds/images/stewart.jpg").read 
user.user_image = file 
user.save! 

Изображение (stewart.jpg):

http://postimg.org/image/qyjagb2xf/1418c08f/

В моей left.html.erb файл, где изображение вытеснено Yed:

<%= ("<img id = 'profile-image' width = '80' height = '80' alt = 'image' class = 'list_image' src='data:image/jpg;base64,%s'>" % Base64.encode64(@user.user_image)).html_safe %> 

После высева, я проверил базу данных с помощью SQLite браузера и я подтвердил, что изображение было чтения. Но когда я вынес left.html.erb, вот что изображение выглядело как:

Образ оказал:
http://postimg.org/image/mnr9bo5yl/5aea8b27/

Кроме того, тип данных в файле миграции является двоичным, в котором эквивалентный тип в SQLite это blob, и я не хочу использовать дополнительные драгоценные камни, такие как скрепка и тому подобное.

Заранее спасибо.

+0

left.html.erb Файл: <% = ("image" % Base64.encode64 (@ user.user_image)) .html_safe%> – alucillo36

+0

Почему вы не хотите использовать paperclip? – nTraum

+0

Требования к проекту не требуют использования дополнительных драгоценных камней. Пожалуйста, помогите мне. – alucillo36

ответ

2

Это решило проблему:.

файл = File.open ("дб/семена/изображения/stewart.jpg", "Р.Б.") прочитал

Линия выше читает файл в двоичном режиме.

Благодаря г-н Брайан Bibat рубина Users Group - Филиппины (https://www.facebook.com/groups/phrug/)

Смежные вопросы