ホームページ >データベース >mysql チュートリアル >MySQL と Ruby on Rails を使ったシンプルなブログ管理システムの開発方法

MySQL と Ruby on Rails を使ったシンプルなブログ管理システムの開発方法

王林
王林オリジナル
2023-09-20 09:57:171193ブラウズ

如何使用MySQL和Ruby on Rails开发一个简单的博客管理系统

MySQL と Ruby on Rails を使用してシンプルなブログ管理システムを開発する方法

概要:
この記事では、MySQL と Ruby on Rails の使用方法を紹介します。シンプルなブログ管理システムを開発する ブログ管理システム。ブログ管理システムは、ユーザーがブログ投稿を作成、編集、管理できるようにする一般的な Web アプリケーションです。開発フレームワークとして Ruby on Rails を、データベース管理システムとして MySQL を使用します。データベースの設計、モデルの作成、コントローラーの開発、およびビューのレンダリングに焦点を当てます。具体的なコード例は記事内で説明します。

ステップ 1: 環境セットアップ
まず、Ruby on Rails と MySQL をインストールして構成する必要があります。具体的なインストール方法についてはここでは割愛しますので、操作方法については公式ドキュメントを参照してください。インストールが完了したら、コマンド ラインからインストールが成功したかどうかを確認できます。

ステップ 2: Rails アプリケーションを作成する
次のコマンドを使用して、新しい Rails アプリケーションを作成します:

rails new blog
cd blog

ステップ 3: データベースを構成する
config/database を開きます。 yml ファイルで、development セクションを見つけて、次のように変更します。

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: your_username
  password: your_password
  host: localhost

development:
  <<: *default
  database: blog_development

test:
  <<: *default
  database: blog_test

production:
  <<: *default
  database: blog_production
  username: blog
  password: <%= ENV['BLOG_DATABASE_PASSWORD'] %>

your_usernameyour_password を MySQL に置き換えます。データベースのユーザー名とパスワード。

ステップ 4: データベースを作成する
次のコマンドを実行してデータベースを作成します:

rails db:create

ステップ 5: ブログ投稿のモデルとデータベース テーブルを作成する
次のコマンドを実行しますModel という名前のデータベースと Post のデータベース テーブルを作成するコマンド:

rails generate model Post title:string content:text
rails db:migrate

上記のコマンドは、app/models に post.rb ファイルを作成します。 ディレクトリとデータベース内に、タイトルとコンテンツの 2 つのフィールドを含む posts という名前のテーブルを作成します。

ステップ 6: ブログ コントローラーの作成
次のコマンドを実行して、Posts という名前のコントローラーを作成します:

rails generate controller Posts

上記のコマンドは app で実行されます。 /controllers ディレクトリに posts_controller.rb ファイルを作成します。

ステップ 7: ブログ コントローラーのメソッドを作成する
app/controllers/posts_controller.rb ファイルを開き、次のメソッドをクラスに追加します:

class PostsController < ApplicationController
  before_action :set_post, only: [:show, :edit, :update, :destroy]

  def index
    @posts = Post.all
  end

  def show
  end

  def new
    @post = Post.new
  end

  def edit
  end

  def create
    @post = Post.new(post_params)

    if @post.save
      redirect_to @post, notice: 'Post was successfully created.'
    else
      render :new
    end
  end

  def update
    if @post.update(post_params)
      redirect_to @post, notice: 'Post was successfully updated.'
    else
      render :edit
    end
  end

  def destroy
    @post.destroy
    redirect_to posts_url, notice: 'Post was successfully destroyed.'
  end

  private

  def set_post
    @post = Post.find(params[:id])
  end

  def post_params
    params.require(:post).permit(:title, :content)
  end
end

上記のコードは、indexshowneweditcreate# などのブログ コントローラーのさまざまなアクションを定義します。 ##、updatedestroy。これらのアクションは、すべてのブログ投稿の表示、単一のブログ投稿の表示、新しいブログ投稿の作成、ブログ投稿の編集、ブログ投稿の作成または編集の保存、ブログ投稿の更新、およびブログ投稿の削除に使用されます。

ステップ 8: ブログ ビューを作成する


app/views/posts ディレクトリを開き、次のファイルを作成します:

  • index.html .erb : すべてのブログ投稿のリストを表示するために使用されます。
  • show.html.erb: 1 つのブログ投稿の詳細なコンテンツを表示するために使用されます。
  • new.html.erb: 新しいブログ投稿を作成するために使用されます。
  • edit.html.erb: ブログ投稿の編集に使用されます。
これは簡単な例です:

index.html.erb

<h1>Posts</h1>

<% @posts.each do |post| %>
  <h2><%= link_to post.title, post %></h2>
  <p><%= post.content %></p>
<% end %>

<p><%= link_to 'New Post', new_post_path %></p>

show.html.erb

<h1><%= @post.title %></h1>
<p><%= @post.content %></p>

<%= link_to 'Edit', edit_post_path(@post) %> |
<%= link_to 'Back', posts_path %>

new.html. erb

<h1>New Post</h1>

<%= render 'form' %>

<%= link_to 'Back', posts_path %>

edit.html.erb

<h1>Editing Post</h1>

<%= render 'form' %>

<%= link_to 'Show', @post %> |
<%= link_to 'Back', posts_path %>

_form.html.erb

<%= form_with(model: post, local: true) do |form| %>
  <% if post.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(post.errors.count, "error") %> prohibited this post from being saved:</h2>

      <ul>
        <% post.errors.full_messages.each do |message| %>
          <li><%= message %></li>
        <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= form.label :title %>
    <%= form.text_field :title %>
  </div>

  <div class="field">
    <%= form.label :content %>
    <%= form.text_area :content %>
  </div>

  <div class="actions">
    <%= form.submit %>
  </div>
<% end %>

以上の操作を完了すると、簡易ブログ管理システムが実行できるようになります。次のコマンドを実行してサーバーを起動し、ブラウザで

http://localhost:3000/posts にアクセスします。

rails server

概要:

この記事では、MySQL を使用します。 Ruby on Railsによるシンプルなブログ管理システムを開発しました。データベースの設計、モデルの作成、コントローラーの開発、ビューのレンダリングについて説明しました。上記の手順により、シンプルなブログ管理システムを迅速に構築し、さらに拡張および最適化することができます。この記事が、MySQL と Ruby on Rails を使用した開発方法の理解に役立つことを願っています。

以上がMySQL と Ruby on Rails を使ったシンプルなブログ管理システムの開発方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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