演習課題「今日の日付をファイルに書き込む」
右の環境には、Sinatraで今日の日付を表示するプログラムが作成してあります。この日付を、today.txtに書き込むようにプログラムを修正してください。
ファイルの書き込みは、上書きモードでオープンしています。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバーを起動し、問題文に関するページにアクセスできる状態にしてください。
#07:具体例:1行掲示板を作ろう - 投稿をファイルに保存する
ここでは、先ほどに続いて、Sinatraを使ったWebアプリケーションの例として、簡単な1行掲示板を作成します。
いよいよ、投稿をファイルに保存する機能を作成してみましょう。
openメソッドの第2引数を「"a"」とすると、テキストファイルの最後に追加書き込みする。@article = params[:article]
@name = params[:name]
File.open("articles.txt", "a") do |f|
f.puts(@article + @name)
end
# 1行掲示板
require 'sinatra'
require 'sinatra/reloader'
require 'erb'
get '/' do
File.open("articles.txt", "r") do |f|
@articles = f.read.split("\n")
end
erb :bbs
end
post '/' do
@article = params[:article]
@name = params[:name]
File.open("articles.txt", "a") do |f|
f.puts("#{@article},#{@name}")
end
erb :result
end
<h1>書き込みました</h1>
<p><%= @article %> <%= @name %></p>
<form action="/" method="get">
<input type="submit" value="戻る">
</form>
- [Rubyでファイルの書き込み・読み込みを行う方法 | UX MILK]
http://uxmilk.jp/22615