【问题标题】:Editable .txt file in Ruby SinatraRuby Sinatra 中的可编辑 .txt 文件
【发布时间】:2014-03-20 13:36:05
【问题描述】:

使用 Ruby Sinatra 框架,我创建了两个页面,“home”和“create”。我的主页显示我目录中 .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

我的 erb 读到:

家:

<h2>Content:</h2>
<% @logfile.each_line do |line| %>
<%= line %>
<% 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>

【问题讨论】:

    标签: ruby sinatra


    【解决方案1】:

    编辑: 你的方法是这样的

    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
    

    你的 create.erb 应该是这样的

    <form action="/create" method="post">
        <input type="text" name="file" value="<%= @contents %>">
        <input type="submit" value="Save">  
    </form>
    

    【讨论】:

      猜你喜欢
      • 2014-04-27
      • 2016-03-19
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      相关资源
      最近更新 更多