【问题标题】:ROR console output to text fileROR 控制台输出到文本文件
【发布时间】:2016-03-01 18:13:26
【问题描述】:

我无法将内容从 ROR 控制台保存到我的本地文件夹 我已经尝试过这种方法:

path = "C:/folder/folder/path.txt"
content = "data from the form"
File.open(path, "w+") do |f|
  f.write(content)
end

尝试上述代码时收到错误: Errno::ENOENT: 没有这样的文件或目录@rb_sysopen 据我了解该错误似乎 ROR 寻找的路径应该存在于 ROR 服务器端。

目标: 将“内容”保存到我的本地文件夹 (C:\path\path\folder)

【问题讨论】:

  • 您想将输出保存到本地计算机上的文件吗?不在实际服务器的目录上?
  • 欢迎来到 SO。很难说出你的意思。服务器上运行的代码将使用服务器的操作系统路径,并且“本地”文件将位于服务器上。 “本地”是指服务器还是您的客户端计算机?请编辑您的问题并填写空白,就像您在第一次询问时添加了该信息一样。
  • 大家好,已经编辑了问题,对我的问题有更清晰的认识。感谢您的及时回复。

标签: ruby-on-rails ruby


【解决方案1】:

您只能“下载”服务器上存在的文件。以下方法会将您的内容写入 log.txt,该文件最初将放置在您的服务器 rails root 上,然后它会提示您下载文件。

def logger_meth
  content = "data from the form"
  File.open("#{Rails.root}/log.txt", 'w') { |file| file.write(content) }
  log_file = "#{Rails.root}/log.txt"
  send_file log_file, :type=>"application/text", :x_sendfile=>true
end

【讨论】:

  • 您好,感谢您的回复,我不知道我是否正确运行了您的脚本,但是当我测试这个时,我收到 NoMethodError: undefined method `send_file' for main:Object
  • 这只能在 ActionController 中工作 - 你不能纯粹在控制台中使用它。
【解决方案2】:

使用私钥访问 ROR 服务器并将其插入 filezilla。 然后通过filezilla登录,主机名应该是ROR主机,用户类型应该是交互式的。

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    相关资源
    最近更新 更多