演習課題「レビューログ:新規レビュー機能を作ろう」
ここでは、マンガや動画などの感想を書き込むレビューログを作っています。
右の環境には、MySQLで「mylog」というデータベースとSinatraを使用したWebアプリケーションの雛形が用意してあります。
このうちのreview.rbを修正して、レビュー記事を新規作成できるようにしてください。また、作成後は、作成したレビューの詳細画面にリダイレクトしてください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#08:新規メモを作ろう
ここでは、新しいメモを作成する機能を作ります。一覧画面から「/new」でアクセスしたら、新しいメモを編集フォームで表示して、保存ボタンでデータベースに保存しましょう。
get '/new' do
erb :new
end
post '/create' do
post = Post.create({title: params['title'], content: params['content']})
redirect "/show/#{post.id}"
end
/views/new.erb<h1>新規メモ</h1>
<form action="/create" method="post">
<label for="title">タイトル</label><br>
<input type="text" name="title" >
<p></p>
<label for="content">本文</label><br>
<textarea name="content" cols="40" rows="10"></textarea>
<p></p>
<button type="submit">保存する</button>
<a href='/'>キャンセル</a>
</form>
/views/index.erb<h1>paiza memo</h1>
<table>
<tr><th>Id</th><th>タイトル</th></tr>
<% @posts.each do |post| %>
<tr>
<td><%= post.id %></td>
<td><a href='/show/<%= post.id %>'><%= post.title %></a></td>
</tr>
<% end %>
</table>
<p><a href='/new'>新規メモ</a></p>
- [Active Record の基礎 | Rails ガイド]
https://railsguides.jp/active_record_basics.html
- [Active Record クエリインターフェイス | Rails ガイド]
https://railsguides.jp/active_record_querying.html
- [Sinatra: README (Japanese)]
http://www.sinatrarb.com/intro-ja.html