Ruby Sinatra中的可编辑.txt文件

Ruby Sinatra中的可编辑.txt文件,ruby,sinatra,Ruby,Sinatra,使用Ruby Sinatra框架,我创建了两个页面,“主页”和“创建”。我的主页显示目录中.txt文件中的内容。在“创建”页面中,我需要一个显示现有.txt文件并可编辑和保存的表单,以便主页显示更新表单的人(很像wiki)。我该怎么办 wiki.rb当前的内容是: get '/' do @logfile = File.open("logfile.txt","r") erb :home end get '/create' do # I do not know what to put

使用Ruby Sinatra框架,我创建了两个页面,“主页”和“创建”。我的主页显示目录中.txt文件中的内容。在“创建”页面中,我需要一个显示现有.txt文件并可编辑和保存的表单,以便主页显示更新表单的人(很像wiki)。我该怎么办

wiki.rb当前的内容是:

get '/' do
  @logfile = File.open("logfile.txt","r")
  erb :home
end

get '/create' do
  # I do not know what to put here
end
我的雇员再培训局是这样写的:

主页:

内容:
创建:

<h2>Edit your content:</h2>
<form action="/" method="post">
#I know I have to embed the logfile here somewhere?  
Content:<input type="textarea" name="content"><br>
<input type="submit" value="Save">  
</form>
编辑您的内容:
#我知道我必须把日志文件埋在这里的某个地方?
内容:
编辑: 你的方法是这样的

get '/create' do
    @logfile = File.open("logfile.txt","r")
    @contents = @logfile.read
    @logfile.close
    erb :create
end

post '/create' do
    @logfile = File.open("logfile.txt","w")
    @logfile.truncate(@logfile.size)
    @logfile.write(params[:file])
    @logfile.close
    redirect '/create'
end
<form action="/create" method="post">
    <input type="text" name="file" value="<%= @contents %>">
    <input type="submit" value="Save">  
</form>
您的create.erb将如下所示

get '/create' do
    @logfile = File.open("logfile.txt","r")
    @contents = @logfile.read
    @logfile.close
    erb :create
end

post '/create' do
    @logfile = File.open("logfile.txt","w")
    @logfile.truncate(@logfile.size)
    @logfile.write(params[:file])
    @logfile.close
    redirect '/create'
end
<form action="/create" method="post">
    <input type="text" name="file" value="<%= @contents %>">
    <input type="submit" value="Save">  
</form>