seeds.rbで画像をロード
BLOB型のpictureという名前のフィールドを持っているPostというモデルを想定します。
p = "#{Rails.root}/db/seeds_images/foo.jpg"
Post.create(title: "foo", picture: File.read(p))
ファイルを設置して rake db:seed を走らせればOKです。
ちなみに、画像を表示するアクションとルートの設定は例えば以下のような感じになります。JPGフォーマット決め打ちなので、PNGなども扱う可能性がある場合はもう少し拡張が必要です。
posts_controller.rb
def show_picture
d = Post.find(params[:id]).picture
if d
send_data d, :type => 'image/jpeg', :disposition => "inline"
else
raise ActionController::RoutingError.new('Picture not found')
end
end
config/routes.rb
get 'events/:id/picture' => 'events#show_picture', as: 'events_picture'
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について