gpt4 book ai didi

html - 使用ruby处理html表单提交以修改服务器上的本地文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:30 25 4
gpt4 key购买 nike

给定以下示例 html 表单:

<html> 
<head>
<title>Sure wish I understood this. :)</title>
</head>
<body>
<p>Enter your data:</p>
<form method="POST" action="bar.rb" name="form_of_doom">
<input type="text" name="data">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>

如果将提交内容写入服务器上的文本文件,“bar.rb”会是什么样子?我正在运行 apache,但我试图避免使用数据库和 rails。

最佳答案

您需要一些方法来调用 Ruby 文件作为 Web 请求的结果,并将所有表单数据传递给脚本。

看来您可以使用 treating Ruby scripts as CGI 的 Apache 做到这一点。引用:

DocumentRoot /home/ceriak/ruby

<Directory /home/ceriak/ruby>
Options +ExecCGI
AddHandler cgi-script .rb
</Directory>

这时候就可以使用Ruby自带的CGI library来处理参数了:

#!/usr/bin/ruby -w                                                                                                           

# Get the form data
require 'cgi'
cgi = CGI.new
form_text = cgi['text']

# Append to the file
path = "/var/tmp/some.txt"
File.open(path,"a"){ |file| file.puts(form_text) }

# Send the HTML response
puts cgi.header # content type 'text/html'
puts "<html><head><title>Doom!</title></head><body>"
puts "<h1>File Written</h1>"
puts "<p>I wrote #{path.inspect} with the contents:</p>"
puts "<pre>#{form_text.inspect}</pre>"
puts "</body></html>"

关于html - 使用ruby处理html表单提交以修改服务器上的本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16889618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com