学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Rails7.1 | 仕事売買アプリ作成 | 23 | Fakerの利用

↓↓クリックして頂けると励みになります。




22 | ビューの作成】 << 【ホーム】 >> 【24 | ステップ処理




カテゴリーとテストユーザー登録に「faker」を利用します。

「Faker」は、Ruby on RailsといったWebアプリケーションフレームワークでよく使用される人工データ生成ライブラリの一つです。
Ruby on Railsプロジェクトでテストデータを作成したり、開発時に仮のデータを生成する際に便利です。
Fakerを使用することで、実際のデータベースエントリと似たような擬似データを簡単に生成できます。


fakerのGitHubページは以下を見て下さい。
github.com


GemFileに以下の記述を追加します。


記述追加 GemFile

gem 'faker', '~> 3.2'



インストールします。
コマンド
bundle


「db\seeds.rb」ファイルを以下のように編集します。


db\seeds.rb

# This file should ensure the existence of records required to run the application in every environment (production,
# development, test). The code here should be idempotent so that it can be executed at any point in every environment.
# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
#
# Example:
#
#   ["Action", "Comedy", "Drama", "Horror"].each do |genre_name|
#     MovieGenre.find_or_create_by!(name: genre_name)
#   end

# テストカテゴリーを追加(10個)
10.times do
    Category.create(
        name: Faker::Job.unique.field
    )
end

# テストユーザーを追加(5ユーザー パスワードは 123456)
5.times do
    user = User.create(
        full_name: Faker::Name.name,
        email: Faker::Internet.email,
        about: Faker::Quote.matz,
        password: '123456',
        created_at: Date.today
    )

    user.avatar.attach(                
        io: image = URI.open("https://i.pravatar.cc/300"),
        filename: "avatar#{user.id}.jpg", 
        content_type: 'image/jpg'
    )
end



データベースにデータを登録します。
コマンド
rails db:seed


これでテストカテゴリー10個とテストユーザー5ユーザーが追加されました。
テストユーザーのパスワードは「123456」です。
Posticoで確認してみます。

カテゴリー
カテゴリー


ユーザ
ユーザ



デリバリーエラーで5通のメールが届きますので、「アカウントを有効化」のリンクをそれぞれクリックしてアカウントを有効化してください。
そうするとテストユーザでログインできるようになります。

テストユーザー
テストユーザー



22 | ビューの作成】 << 【ホーム】 >> 【24 | ステップ処理




↓↓クリックして頂けると励みになります。