Upload base64 Image with Paperclip - Rails 4 -


i relatively new rails , appreciate help.

my website accepts signature image in base64 format , trying use paperclip adaptor decode image , save form model :signature attribute. using advice given here (and here) advises use following code:

in model:

class thing     has_attached_file :image 

in controller:

def create   image = paperclip.io_adapters.for(params[:thumbnail_data])    image.original_filename = "something.gif"   thing.create!(image: image)   ... end 

my assumption thing.create! setting value of paperclip's model attribute :image value of image variable whilst creating , saving new thing object. tried implement same code in formscontroller (create action) before @form.save, receiving error:

undefined method `before_image_post_process' #<class:0x007f94a2a26de8> 

my formscontroller:

class formscontroller < applicationcontroller   before_action :logged_in_user   before_action :admin_user, only: :destroy    def index     @forms = form.all #paginate   end    def show     @form = form.find(params[:id])   end    def new     @form = form.new   end    def create     @form = form.new(form_params)      # paperclip adaptor      signature = paperclip.io_adapters.for(params[:base64])     signature.original_filename = "something.png"      # attempt submit image through paperclip     @form.signature = signature      if @form.save       flash[:success] = "the form has been created!"       redirect_to @form     else       render 'new'     end   end    def edit     @form = form.find(params[:id])   end    def update     @form = form.find(params[:id])     if @form.update_attributes(form_params)       flash[:success] = "form has been updated!"       redirect_to @form     else       render 'edit'     end   end    def destroy     form.find(params[:id]).destroy     flash[:success] = "form deleted"     redirect_to forms_path   end    private    def form_params     params.require(:form).permit(:first_name, :last_name, :email, :phone, :address, :member_type, :base64)   end end 

this form model:

class form < activerecord::base    has_attached_file :signature   validates_attachment_content_type :image, :content_type =>     ["image/jpg", "image/jpeg", "image/png", "image/gif"]   end 

assuming you're using rails form helpers on in view, , based on form_params list, :base64 key won't @ top level of params hash, rather 1 level down @ params[:form][:base64]


Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -