db----
def self.up
create_table :db_files,:force => true do |t|
t.binary :data
t.timestamps
end
end
db---
controller----
def find_db_file
project=Project.find_by_id(params[:id])
project_snapshot=project.project_snapshot
send_data(project_snapshot.db_file.data,
:type => project_snapshot.content_type,
:filename => project_snapshot.filename,
:disposition => 'inline')
end
controller----
view-------
<%for p in @projects -%>
<%=image_tag(url_for
(:controller=>:projects,:action=>:find_db_file,:id=>p.id))-%>
<%end-%>
view-------
I try my best to display the image data in the database,but fail.It
seems everything is right.Even try from mysql to sqlite not works.This
really let me down.
Then don't use :db_file mode. :) Images don't belong in the DB.
Best,
--
Marnen Laibow-Koser
http://www.marnen.org
mar...@marnen.org
--
Posted via http://www.ruby-forum.com/.
I was feeling masochistic about a year and a half ago, and had it
working in :db_file mode (the challenge of one of those "proof is left
as an exercise for the reader"), but the performance was so abysmal it
was quickly evident that it was not a viable, long-term solution. It can
be done, but I'm not even sure I have that 'tester' rails app on my
machine any longer.
Just store your images on the file system, and get on with the fun
things...
What you have looks familiar, but image_tag may be messing you up.
Can you get it to work if you ignore the helper and write the
appropriate html to wrap the inline content yourself?
Can you try here StringIO.new(project_snapshot.db_file.data)?
Sijo
Find a different server, then, or use S3. Even if you can get this to
work, you're asking for trouble.
Best,
--
Marnen Laibow-Koser
http://www.marnen.org
mar...@marnen.org