Rails ActiveStorage:文件未保存-尝试附加时无内容

时间:2019-03-12 21:09:08

标签: ruby-on-rails dropzone.js rails-activestorage

我在使用Active Storage和Dropzone.js将文件正确附加到Model EmployeeFile时遇到问题。每当我尝试附加文件时,日志都会显示以下内容:

Completed 204 No Content in 42713ms (ActiveRecord: 4.6ms)

这是我的设置。

Class EmployeeFile < ApplicationRecord
  belongs_to :employee

  has_one_attached :file 
  delegate_missing_to :file

end

Class EmployeeFilesController < ApplicationController

  before_action :set_employee

  def upload_personal
    employee_files_param.each do |file|
      employee_file = @employee.employee_files.create(file: file, module_type: "personal_file")
    end
    redirect_to employee_path(@employee)
  end

  def employee_files_param
    params.require(:employee_file).permit!.require(:file)
  end

end

通过Dropzone.js提交文件可以正常工作。这是调用employee_files_param

的结果
<ActionController::Parameters {"file"=><ActionController::Parameters {
"0"=>#<ActionDispatch::Http::UploadedFile:0x00007fc9f3604ec8 @tempfile=#<Tempfile:/var/folders/rj/3ycwg9vx5nj2g8jzgljwyrm80000gn/T/RackMultipart20190312-98803-883bu6.pdf>, @original_filename="551DA894-C0A80A42003D0F0E-A41E1407.pdf", @content_type="application/pdf", @headers="Content-Disposition: form-data; name=\"employee_file[file][0]\"; filename=\"551DA894-C0A80A42003D0F0E-A41E1407.pdf\"\r\nContent-Type: application/pdf\r\n">, 
"1"=>#<ActionDispatch::Http::UploadedFile:0x00007fc9f3604e00 @tempfile=#<Tempfile:/var/folders/rj/3ycwg9vx5nj2g8jzgljwyrm80000gn/T/RackMultipart20190312-98803-8f1eli.pdf>, @original_filename="696E807D-C0A80A42003D0F0E-21BD61FA (1).pdf", @content_type="application/pdf", @headers="Content-Disposition: form-data; name=\"employee_file[file][1]\"; filename=\"696E807D-C0A80A42003D0F0E-21BD61FA (1).pdf\"\r\nContent-Type: application/pdf\r\n">
} permitted: true>} permitted: true>

file.inspect的结果我得到了以下内容

["0", #<ActionDispatch::Http::UploadedFile:0x00007fc9ec7d1938 @tempfile=# <Tempfile:/var/folders/rj/3ycwg9vx5nj2g8jzgljwyrm80000gn/T/RackMultipart20190312-98803-1jnmumh.pdf>, @original_filename="73F62484-C0A80A42004920BC-5C5223A5 (1).pdf", @content_type="application/pdf", @headers="Content-Disposition: form-data; name=\"employee_file[file][0]\"; filename=\"73F62484-C0A80A42004920BC-5C5223A5 (1).pdf\"\r\nContent-Type: application/pdf\r\n">]

我需要纠正什么?

0 个答案:

没有答案