Ruby on rails PDF上传Ruby on Rails服务器-DB Postgres

Ruby on rails PDF上传Ruby on Rails服务器-DB Postgres,ruby-on-rails,ruby,ruby-on-rails-3,postgresql,postgresql-9.1,Ruby On Rails,Ruby,Ruby On Rails 3,Postgresql,Postgresql 9.1,您好,我正在尝试使用Ruby Rails将PDF文档存储在PostgreSQL数据库中。 当前我的代码如下所示: 数据库文件: '$20151126021922_create_pdf_creates.rb' class CreatePdfCreates < ActiveRecord::Migration def change create_table :pdf_creates do |t| t.binary :pdfload t.tim

您好,我正在尝试使用Ruby Rails将PDF文档存储在PostgreSQL数据库中。 当前我的代码如下所示:

数据库文件:

      '$20151126021922_create_pdf_creates.rb' 

class CreatePdfCreates < ActiveRecord::Migration
  def change
    create_table :pdf_creates do |t|
      t.binary :pdfload

      t.timestamps null: false
    end
  end
end
“$20151126021922_create_pdf_creates.rb”
类CreatePdfCreates
型号:

    '$pdf_create.rb'

class PdfCreate < ActiveRecord::Base    

end
“$pdf\u create.rb”
类PdfCreate
控制器:

    '$pdf_creates_controller.rb'

class PdfCreatesController < ApplicationController
  before_action :set_pdf_create, only: [:show, :edit, :update, :destroy]

  # GET /pdf_creates
  # GET /pdf_creates.json
  def index
    @pdf_creates = PdfCreate.all
  end

  # GET /pdf_creates/1
  # GET /pdf_creates/1.json
  def show
  end

  # GET /pdf_creates/new
  def new
    @pdf_create = PdfCreate.new
  end

  # GET /pdf_creates/1/edit
  def edit
  end

  # POST /pdf_creates
  # POST /pdf_creates.json
  def newpdf
    @pdf_create = PdfCreate.new(pdf_create_params)
    respond_to do |format|
      if @pdf_create.save
        format.html { redirect_to @pdf_create, notice: 'Pdf create was successfully created.' }
        format.json { render :show, status: :created, location: @pdf_create }
      else
        format.html { render :new }
        format.json { render json: @pdf_create.errors, status: :unprocessable_entity }
      end
    end
  end

  def create
    @pdf_create = PdfCreate.new(pdf_create_params)
    #data = File.read(Rails.root + "tmp/consent(1).pdf")
    #Document.create pdfload: data 

    respond_to do |format|
      if @pdf_create.save
        format.html { redirect_to @pdf_create, notice: 'Pdf create was successfully created.' }
        format.json { render :show, status: :created, location: @pdf_create }
        format.pdf { send_data @pdf_create.render}

        else
           format.html { render :new }
        #  format.json { render json: @pdf_create.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /pdf_creates/1
  # PATCH/PUT /pdf_creates/1.json
  def update
    respond_to do |format|
      if @pdf_create.update(pdf_create_params)
        format.html { redirect_to @pdf_create, notice: 'Pdf create was successfully updated.' }
        format.json { render :show, status: :ok, location: @pdf_create }
      else
        format.html { render :edit }
        format.json { render json: @pdf_create.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /pdf_creates/1
  # DELETE /pdf_creates/1.json
  def destroy
    @pdf_create.destroy
    respond_to do |format|
      format.html { redirect_to pdf_creates_url, notice: 'Pdf create was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_pdf_create
      @pdf_create = PdfCreate.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def pdf_create_params
      params.require(:pdf_create).permit(:pdfload)
    end
end
“$pdf\u创建\u控制器.rb”
类PdfCreatesController
我发送了一份pdf表单,返回的结果是我:

{“id”:5,“pdfload”:null,“创建于”:“2015-11-26T03:24:37.457Z”,“更新于”:“2015-11-26T03:24:37.457Z”}


怎么了?Tks

您发送的是整个新创建的记录,而不是其中存储的PDF数据

尝试更改此选项:

format.pdf { send_data @pdf_create.render}
为此:

format.pdf { send_data @pdf_create.pdfload}