MySQL と Ruby on Rails を使用して簡単なメッセージ ボード機能を開発する方法
メッセージ ボードは、ユーザーがメッセージを投稿したりコミュニケーションしたりできる非常に一般的な Web サイトの機能です。他の人々が交流したり議論したりするためのものです。この記事では、MySQL と Ruby on Rails を使用して簡単な掲示板機能を開発する方法を説明します。
準備
まず、MySQL データベースと Ruby on Rails フレームワークがインストールされていることを確認する必要があります。次のリンクからダウンロードしてインストールできます:
MySQL: https://www.mysql.com/downloads/
Ruby on Rails: https://rubyonrails.org/
Rails アプリケーション
まず、Rails コマンド ライン ツールを使用して新しい Rails アプリケーションを作成する必要があります。ターミナルを開き、次のコマンドを実行します。
rails new message_board cd message_board
このコマンドは、message_board という名前の新しい Rails アプリケーションを作成し、そのディレクトリに入ります。
データベース接続のセットアップ
次に、Rails アプリケーションと MySQL データベース間の接続をセットアップする必要があります。 config/database.yml ファイルで開発セクションを見つけて次のように変更します。
development: adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: your_mysql_username password: your_mysql_password database: message_board_development host: localhost
your_mysql_username と your_mysql_password を MySQL データベースのユーザー名とパスワードに置き換える必要があります。
メッセージ ボード モデルの作成
これで、メッセージ ボード モデルの作成を開始できます。次のコマンドを実行して、Message という名前のモデルを生成します。
rails generate model Message content:text
これにより、app/models ディレクトリに message.rb という名前のファイルが生成され、db/merge ディレクトリに移行ファイルが生成されます。生成された移行ファイル (タイムスタンプ付きのファイル名) を開き、メッセージの内容を保存する列を追加します:
class CreateMessages < ActiveRecord::Migration[6.0] def change create_table :messages do |t| t.text :content t.timestamps end end end
データベース移行コマンドを実行してメッセージ テーブルを作成します:
rails db:migrate
Create Message関連のコントローラーとビュー
次に、メッセージ関連のリクエストを処理するコントローラーとビューを生成する必要があります。次のコマンドを実行して、Messages という名前のコントローラーを生成します。
rails generate controller Messages
これにより、app/controllers ディレクトリにmessages_controller.rb という名前のファイルが生成され、app/views ディレクトリ フォルダーにmessagesという名前のファイルが生成されます。
messages_controller.rb ファイルを開き、次のメソッドを追加します:
class MessagesController < ApplicationController def index @messages = Message.all end def create @message = Message.new(message_params) if @message.save redirect_to messages_path else render :index end end private def message_params params.require(:message).permit(:content) end end
ここでは、index と create の 2 つのメソッドが定義されています。index メソッドはすべてのメッセージを表示するために使用され、create メソッドはすべてのメッセージを表示するために使用されます。新しいメッセージを作成するために使用されます。また、routes.rb ファイルにルートを追加する必要があります。
Rails.application.routes.draw do resources :messages, only: [:index, :create] root to: "messages#index" end
このようにして、コントローラーとルーティングが設定されます。ここで、messages/index.html.erb ファイルを変更して、メッセージ ボードのフロントエンド インターフェイスを作成できます。
<h1>留言板</h1> <% if @messages.any? %> <% @messages.each do |message| %> <div> <%= message.content %> </div> <% end %> <% else %> <div>尚无留言</div> <% end %> <%= form_with model: Message.new, url: messages_path do |form| %> <%= form.text_area :content %> <%= form.submit "发表留言" %> <% end %>
ここでは、単純なループを使用してすべてのメッセージをループし、インターフェイスに表示します。新しいコメントを作成して送信するためにフォームも使用します。
ここまでで、簡単な掲示板機能の開発が完了しました。 Rails サーバーを実行し、ブラウザで http://localhost:3000 にアクセスして効果を確認できます。
rails server
概要
MySQL と Ruby on を使用して単純なメッセージ ボード機能を開発するのは複雑ではありません。レール 。 Rails フレームワークの利便性を利用して開発プロセスを簡素化し、モデル、コントローラー、ビューを生成することでこれを実現しました。この記事が役立つガイダンスとインスピレーションを提供できることを願っています。
以上がMySQLとRuby on Railsを使った簡単な掲示板機能の開発方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。