ホームページ データベース mysql チュートリアル MySQLとRuby on Railsを使った簡単な掲示板機能の開発方法

MySQLとRuby on Railsを使った簡単な掲示板機能の開発方法

Sep 20, 2023 pm 01:00 PM
mysql ruby on rails 掲示板機能

如何使用MySQL和Ruby on Rails开发一个简单的留言板功能

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのビッグデータ構造処理スキル PHPのビッグデータ構造処理スキル May 08, 2024 am 10:24 AM

PHPのビッグデータ構造処理スキル

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? Jun 03, 2024 pm 08:11 PM

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか?

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? Jun 02, 2024 pm 02:26 PM

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? May 05, 2024 am 09:06 AM

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか?

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? Jun 02, 2024 pm 02:13 PM

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP 配列ページングのパフォーマンス最適化戦略 PHP 配列ページングのパフォーマンス最適化戦略 May 02, 2024 am 09:27 AM

PHP 配列ページングのパフォーマンス最適化戦略

See all articles