【问题标题】:Errno::ENOENT No such file or directory @ rb_sysopenErrno::ENOENT 没有这样的文件或目录@rb_sysopen
【发布时间】:2020-02-18 21:20:16
【问题描述】:

我正在尝试生成一个简单的 Docx 文件,但出现错误:

ContratosController#page 中的 Errno::ENOENT

没有这样的文件或目录@rb_sysopen - /public/example.docx

我正在使用宝石狞猫

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
```

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    你快到了,你只需要编辑一下:

    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
    

    【讨论】:

      猜你喜欢
      • 2014-07-09
      • 2018-05-01
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多