Ruby on Railsで簡単なブログサイトを作成する手順
はじめに
この記事では、Ruby on Railsを使って基本的なブログサイトを作成する手順を紹介します。この記事を通じて、Railsの基本的な機能であるCRUD(Create, Read, Update, Delete)の実装方法を学ぶことができます。これからRailsを始める方や、簡単なウェブアプリケーションを作成してみたい方におすすめです。
1. 新しいRailsプロジェクトを作成する
まず、ターミナルで新しいRailsプロジェクトを作成します。プロジェクト名は「blog」とします。
bash
$ rails new blog
blogディレクトリに移動して、サーバーを起動してみましょう。
bash
$ cd blog $ rails server
ブラウザで http://localhost:3000 にアクセスし、Railsの初期ページが表示されれば成功です。
2. Scaffoldを使って記事のモデルとコントローラを作成
Railsでは、scaffoldコマンドを使うことで、CRUD機能を自動生成することができます。これにより、ブログの記事(Post)のモデル、コントローラ、ビューが一度に作成されます。
bash
$ rails generate scaffold Post title:string content:text
このコマンドによって、title(記事のタイトル)とcontent(記事の内容)という2つの属性を持ったPostモデルが作成されます。
次に、データベースに新しいテーブルを作成するためにマイグレーションを実行します。
bash
$ rails db:migrate
3. ブラウザで記事の作成・表示・編集・削除を確認
サーバーを起動した状態で、http://localhost:3000/posts にアクセスしてみてください。Scaffoldによって自動生成された投稿管理画面が表示されます。ここから記事の作成、表示、編集、削除ができます。
新しい記事を作成: 右上の「New Post」ボタンから、新しい記事を作成できます。
記事の表示: 一覧ページには作成された記事が表示され、タイトルをクリックすると詳細ページに遷移します。
記事の編集: 記事の詳細ページにある「Edit」ボタンから記事を編集できます。
記事の削除: 同じく詳細ページにある「Destroy」ボタンで記事を削除できます。
4. レイアウトをカスタマイズする
Scaffoldで生成されたビューは、非常にシンプルです。これを少しカスタマイズしてみましょう。
app/views/posts/index.html.erb を開いて、記事一覧の表示をカスタマイズします。例えば、タイトルだけでなく記事の内容も一部表示したい場合、以下のように変更できます。
<h1>Articles</h1>
<table>
<thead>
<tr>
<th>Title</th>
<th>Content</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @posts.each do |post| %>
<tr>
<td><%= post.title %></td>
<td><%= truncate(post.content, length: 100) %></td>
<td><%= link_to 'Show', post %></td>
<td><%= link_to 'Edit', edit_post_path(post) %></td>
<td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
<%= link_to 'New Post', new_post_path %>
truncateメソッドを使って、記事の内容を100文字以内に切り詰めて表示しています。ビューやレイアウトのデザインは、好みに応じてさらにカスタマイズできます。
5. 最後に
これで基本的なブログアプリケーションの作成が完了です。この記事では、RailsのScaffold機能を使って、ブログサイトの基本的なCRUD操作を簡単に実装しました。次のステップとしては、デザインの改善やユーザー認証機能の追加など、機能を拡張してみるのも良いでしょう。
Railsは非常に柔軟で拡張性の高いフレームワークなので、ぜひ色々な機能を試してみてください。
おわりに
もしこの記事が役に立ったら、ぜひ「いいね!」やコメントをお願いします。質問があればお気軽にどうぞ!