MySQLとRuby on Railsでシンプルな掲示板機能を作成する方法
以下の手順に沿って、MySQL と Ruby on Rails を使用した簡単な掲示板機能を開発できます。
- RubyとRuby on Railsのインストールと設定:
- RubyとRubyGemsのインストールを確認しましょう。Ruby のダウンロードとインストールは https://www.ruby-lang.org/ からできます。
- ターミナルを開いて、「gem install rails」コマンドでRailsフレームワークをインストールします。
- rails new my_forumで新しいRailsアプリケーションを作成
- 作成したアプリケーションディレクトリへ移動:cd my_forum
- データベース接続を確立する:
- config/database.ymlファイルを開き、MySQLデータベース接続情報を設定します。developmentとtest環境のデータベース設定を以下のように変更します。
development:
adapter: mysql2
encoding: utf8
database: my_forum_development
pool: 5
username: your_mysql_username
password: your_mysql_password
host: localhost
test:
adapter: mysql2
encoding: utf8
database: my_forum_test
pool: 5
username: your_mysql_username
password: your_mysql_password
host: localhost
- 掲示板関連モデルとデータベースの作成
- 以下のコマンドを実行してPostという名前のモデルを作成し、対応するデータベースマイグレーションファイルを生成します: rails generate model Post title:string content:text
- データベースマイグレーションを実行する:rails db:migrate
- 提吧モデルの関連付けを設定する:
- app/models/post.rbファイルを開いて、以下のコードを追加します。
class Post < ApplicationRecord
has_many :comments
end
- コメントモデルと関連データベーステーブルの作成:
- 次のコマンドを実行してCommentという名前のモデルを作成し、対応するデータベースマイグレーションファイルを生成します: rails generate model Comment content:text post:references
- データベースマイグレーションを実行: rails db:migrate
- コメントモデルの関連付けを設定する:
- アプリのmodels/comment.rbを開いて、以下のコードを追加する。
class Comment < ApplicationRecord
belongs_to :post
end
- 掲示板とコメントのコントローラーとビューを作る:
- rails generate controller Posts index show new create でPosts と呼ばれるコントローラを作成します。
- rails generate controller Comments createコマンドを実行して、Commentsという名前のコントローラを作成する
- app/controllers/posts_controller.rb に以下のコードを追加します。
class PostsController < ApplicationController
def index
@posts = Post.all
end
def show
@post = Post.find(params[:id])
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
private
def post_params
params.require(:post).permit(:title, :content)
end
end
- app/controllers/comments_controller.rb に以下のコードを追加します。
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
redirect_to @post
end
private
def comment_params
params.require(:comment).permit(:content)
end
end
- Railsのビューテンプレート構文を参考にして、対応するビューファイルを生成してください。
- ルーティングの構成:
- config/routes.rbファイルを開いて、下記コードを追加します。
Rails.application.routes.draw do
resources :posts do
resources :comments
end
end
- Railsサーバの実行:
- Railsサーバーを起動するには、次のコマンドを実行してください: rails s
- http://localhost:3000/posts にアクセスして、掲示板一覧ページを表示するには
これで掲示板機能の基本的な機能が実装できたので、ニーズに合わせて機能追加やUIの改善を行ってみてください。