Rails ActiveStorage: файл не сохраняется - нет содержимого при попытке присоединить - PullRequest
0 голосов
/ 13 марта 2019

У меня проблемы с правильным подключением файлов к Model EmployeeFile с использованием Active Storage и Dropzone.js.Всякий раз, когда я пытаюсь прикрепить файл, журнал печатает следующее:

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">]

Что мне нужно исправить?

...