見出し画像

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は非常に柔軟で拡張性の高いフレームワークなので、ぜひ色々な機能を試してみてください。


おわりに

もしこの記事が役に立ったら、ぜひ「いいね!」やコメントをお願いします。質問があればお気軽にどうぞ!

いいなと思ったら応援しよう!