Errno :: ENOENT Нет такого файла или каталога @ rb_sysopen - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь создать простой файл Docx и получаю сообщение об ошибке:

Errno :: ENOENT в ContratosController # page

Нет такого файла или каталога @ rb_sysopen - / public / example.docx

Я использую гем caracal

Routes.rb

Rails.application.routes.draw do
  get 'grayscale/index'
  get 'contratos/page'

contratos.controller.rb

  def page

    Caracal::Document.save '/public/example.docx' do |docx|
      # page 1
      docx.h1 'Page 1 Header'
      docx.hr
      docx.p
      docx.h2 'Section 1'
      docx.p  'Lorem ipsum dolor....'
      docx.p

      # page 2
      docx.page
      docx.h1 'Page 2 Header'
      docx.hr
      docx.p
      docx.h2 'Section 2'
      docx.p  'Lorem ipsum dolor....'
      docx.ul do
        li 'Item 1'
        li 'Item 2'
      end
      docx.p
    end
    path = File.join(Rails.root, "public")
    send_file(File.join(path, "example.docx"))
  end
```

1 Ответ

0 голосов
/ 19 февраля 2020

Вы почти там, вам нужно просто немного отредактировать:

def page
    Caracal::Document.save(Rails.root.join("public", "example.docx")) do |docx|
      # page 1
      docx.h1 'Page 1 Header'
      docx.hr
      docx.p
      docx.h2 'Section 1'
      docx.p  'Lorem ipsum dolor....'
      docx.p
    ...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...