ホームページ  >  記事  >  データベース  >  MySQLとRuby on Railsを使った簡単な掲示板機能の開発方法

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

WBOY
WBOYオリジナル
2023-09-20 13:00:18955ブラウズ

如何使用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 までご連絡ください。