>  기사  >  데이터 베이스  >  MySQL과 Ruby on Rails를 사용하여 간단한 게시판 기능을 개발하는 방법

MySQL과 Ruby on Rails를 사용하여 간단한 게시판 기능을 개발하는 방법

WBOY
WBOY원래의
2023-09-20 13:00:18955검색

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

MySQL 및 Ruby on Rails를 사용하여 간단한 메시지 보드 기능을 개발하는 방법

메시지 보드는 사용자가 메시지를 게시하고 다른 사람들과 상호 작용하고 토론할 수 있는 매우 일반적인 웹 사이트 기능입니다. 이 기사에서는 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/ migration 디렉터리에 마이그레이션 파일이 생성됩니다. 생성된 마이그레이션 파일(타임스탬프가 있는 파일 이름)을 열고 메시지 내용을 저장할 열을 추가합니다.

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

      t.timestamps
    end
  end
end

데이터베이스 마이그레이션 명령을 실행하여 메시지 테이블을 생성합니다.

rails db:migrate

메시지 관련 컨트롤러 및 뷰 생성

다음 , 메시지 관련 요청을 처리하기 위해 컨트롤러와 뷰를 생성해야 합니다. 다음 명령을 실행하여 Messages라는 컨트롤러를 생성합니다.

rails generate controller Messages

이렇게 하면 app/controllers 디렉터리에 message_controller.rb라는 파일이 생성되고 app/views 디렉터리에 message라는 폴더가 생성됩니다.

message_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라는 두 가지 메소드가 정의되어 있습니다. index 메소드는 모든 메시지를 표시하는 데 사용되며, create 메소드는 새 메시지를 생성하는 데 사용됩니다. 또한 Routes.rb 파일에 경로를 추가해야 합니다.

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

이를 통해 컨트롤러와 라우팅이 설정되었습니다. 이제 메시지 보드의 프런트엔드 인터페이스를 생성하기 위해 message/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

Summary
MySQL과 Ruby on Rails를 사용하여 간단한 메시지 보드 기능을 개발하는 것은 복잡하지 않습니다. 우리는 모델, 컨트롤러, 뷰를 생성하고 Rails 프레임워크의 편리함을 활용하여 개발 프로세스를 단순화함으로써 이를 달성했습니다. 이 글이 여러분에게 유용한 지침과 영감을 줄 수 있기를 바랍니다.

위 내용은 MySQL과 Ruby on Rails를 사용하여 간단한 게시판 기능을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.