add formData support

This commit is contained in:
ali.q
2017-04-15 01:34:05 +04:30
committed by ali
parent 25d8adaf8b
commit 182ee093f4
12 changed files with 154 additions and 18 deletions

View File

@@ -4,10 +4,19 @@ class BlogsController < ApplicationController
# POST /blogs
def create
@blog = Blog.create(params.require(:blog).permit(:title, :content))
thumbnail = save_uploaded_file(params[:blog][:thumbnail])
@blog = Blog.create(params.require(:blog).permit(:title, :content).merge(:thumbnail => thumbnail))
respond_with @blog
end
# Put /blogs/1
def upload
@blog = Blog.find_by_id(params[:id])
return head :not_found if @blog.nil?
@blog.thumbnail = save_uploaded_file params[:file]
head @blog.save ? :ok : :unprocsessible_entity
end
# GET /blogs
def index
@blogs = Blog.all
@@ -24,4 +33,14 @@ class BlogsController < ApplicationController
respond_with @blog, status: :not_found and return unless @blog
respond_with @blog
end
private
def save_uploaded_file(field)
return if field.nil?
require 'fileutils'
file = File.join('tmp', field.original_filename)
FileUtils.cp field.tempfile.path, file
field.original_filename
end
end

View File

@@ -5,7 +5,8 @@ class Blog < ActiveRecord::Base
{
id: id,
title: title,
content: content
content: content,
thumbnail: thumbnail
}
end
end