str2 = params['txt1']先ほど、パラメータの値を受け取ったのと全く同じです。フォームの送信も、paramsの中に整理されているのですね。ただし、今回はindexで普通にアクセスした時とフォーム送信をした時の両方の処理を行う必要がありますので、取得した変数str2がnilでなければ(つまり何かの値が送られてきたなら)変数@msgを設定するようにしてあります。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※index.html.erb
<h1>Helo#index</h1>
<p><%= @msg %></p>
<hr>
<form method="post" action="./index">
<input type="text" id="txt1" name="txt1">
<input type="submit">
</form>
※indexメソッド
def index
str = "テキストを入力。"
str2 = params['txt1']
if str2 != nil then
str = "あなたは、「" + str2 + "」と書きました。"
end
@msg = str
end
※routes.rbの修正
Tuyano01::Application.routes.draw do
get "helos/index"
post "helos/index" #★これを追加
……以下略……
| << 前へ |