Heim > Datenbank > MySQL-Tutorial > Hauptteil

So entwickeln Sie eine einfache Message-Board-Funktion mit MySQL und Ruby on Rails

WBOY
Freigeben: 2023-09-20 13:00:18
Original
987 Leute haben es durchsucht

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

So entwickeln Sie eine einfache Message-Board-Funktion mit MySQL und Ruby on Rails

Message-Board ist eine sehr verbreitete Website-Funktion, die es Benutzern ermöglicht, Nachrichten zu posten und mit anderen Menschen zu interagieren und zu diskutieren. In diesem Artikel zeige ich Ihnen, wie Sie mit MySQL und Ruby on Rails eine einfache Message-Board-Funktionalität entwickeln.

Vorbereitung
Zuerst müssen wir sicherstellen, dass Sie die MySQL-Datenbank und das Ruby on Rails-Framework installiert haben. Sie können sie über die folgenden Links herunterladen und installieren:
MySQL: https://www.mysql.com/downloads/
Ruby on Rails: https://rubyonrails.org/

Erstellen Sie eine Rails-Anwendung
Zunächst sind wir bei Ihnen Sie müssen die Rails-Befehlszeilentools verwenden, um eine neue Rails-Anwendung zu erstellen. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

rails new message_board
cd message_board
Nach dem Login kopieren

Dieser Befehl erstellt eine neue Rails-Anwendung mit dem Namen message_board und gibt dieses Verzeichnis ein.

Datenbankverbindung einrichten
Als nächstes müssen wir die Verbindung der Rails-Anwendung zur MySQL-Datenbank einrichten. Suchen Sie in der Datei config/database.yml den Entwicklungsabschnitt und ändern Sie ihn wie folgt:

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
Nach dem Login kopieren

Sie müssen your_mysql_username und your_mysql_password durch den Benutzernamen und das Passwort Ihrer MySQL-Datenbank ersetzen.

Message-Board-Mockup erstellen
Jetzt können wir mit der Erstellung unseres Message-Board-Mockups beginnen. Führen Sie den folgenden Befehl aus, um ein Modell mit dem Namen Message zu generieren:

rails generate model Message content:text
Nach dem Login kopieren

Dadurch wird eine Datei mit dem Namen message.rb im Verzeichnis app/models und eine Migrationsdatei im Verzeichnis db/migrate generiert. Öffnen Sie die generierte Migrationsdatei (Dateiname mit Zeitstempel) und fügen Sie eine Spalte zum Speichern des Inhalts der Nachricht hinzu:

class CreateMessages < ActiveRecord::Migration[6.0]
  def change
    create_table :messages do |t|
      t.text :content

      t.timestamps
    end
  end
end
Nach dem Login kopieren

Führen Sie den Datenbankmigrationsbefehl aus, um die Nachrichtentabelle zu erstellen:

rails db:migrate
Nach dem Login kopieren

Erstellen Sie nachrichtenbezogene Controller und Ansichten

Weiter , müssen wir einen Controller und eine Ansicht generieren, um nachrichtenbezogene Anfragen zu verarbeiten. Führen Sie den folgenden Befehl aus, um einen Controller mit dem Namen „Messages“ zu generieren:

rails generate controller Messages
Nach dem Login kopieren

Dadurch wird eine Datei mit dem Namen „messages_controller.rb“ im Verzeichnis „app/controllers“ und ein Ordner mit dem Namen „messages“ im Verzeichnis „app/views“ generiert.

Öffnen Sie die Datei „messages_controller.rb“ und fügen Sie die folgenden Methoden hinzu:

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
Nach dem Login kopieren

Zwei Methoden, index und create, werden hier definiert. Die index-Methode wird zum Anzeigen aller Nachrichten verwendet, und die create-Methode wird zum Erstellen neuer Nachrichten verwendet. Wir müssen auch Routen in der Datei „routes.rb“ hinzufügen:

Rails.application.routes.draw do
  resources :messages, only: [:index, :create]
  root to: "messages#index"
end
Nach dem Login kopieren

Damit sind unser Controller und unser Routing eingerichtet. Jetzt können wir die Datei „messages/index.html.erb“ ändern, um die Front-End-Schnittstelle des Message Boards zu erstellen.

<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 %>
Nach dem Login kopieren

Hier verwenden wir eine einfache Schleife, um alle Kommentare zu durchlaufen und sie auf der Benutzeroberfläche anzuzeigen. Für die Erstellung und Übermittlung neuer Kommentare nutzen wir zudem ein Formular.

Zu diesem Zeitpunkt haben wir die Entwicklung einer einfachen Message-Board-Funktion abgeschlossen. Sie können den Rails-Server ausführen und http://localhost:3000 im Browser aufrufen, um den Effekt zu sehen:

rails server
Nach dem Login kopieren

Zusammenfassung
Die Entwicklung einer einfachen Message-Board-Funktion mit MySQL und Ruby on Rails ist nicht kompliziert. Dies haben wir durch die Generierung von Modellen, Controllern und Ansichten erreicht und dabei die Vorteile des Rails-Frameworks genutzt, um den Entwicklungsprozess zu vereinfachen. Ich hoffe, dieser Artikel kann Ihnen nützliche Anleitungen und Inspirationen bieten.

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie eine einfache Message-Board-Funktion mit MySQL und Ruby on Rails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage