1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

RailsでECサイト作成の練習をするなり。その1

Last updated at Posted at 2023-07-21

誤った箇所やアドバイスを優しく教えていただけるとありがたいです。また、業務では行政系やっていたので細かいところは勘弁してください。
(※Rails7系は、初触りなので他の情報があったらそっち参考にしてください!)

大まかな設計

画面

  • トップページ
  • 新規登録ページ
  • ログインページ
  • マスタページ(出品者画面)
  • 商品一覧ページ
  • 商品詳細ページ

機能

  • 新規登録
  • ログイン
  • メール認証
  • 商品登録
  • 購入手続き

データベース

  • ユーザーの情報
  • 商品情報
    (細かいところは下で...)

ここらで終了。他は、新規機能追加みたいな感じで進めていきます!

環境

  • Ruby 3.0.0
  • Rails 7.0.6
  • PostgreSQL 14.8
    (自分はM1のMacBook使ってます。コマンドがうまく動かない時は、自分の環境に合わせたコマンドを叩いてください!)
    Windowsの民は、WSLをおすすめします!Windows上でLinux使えます!(自分はUbuntu使っていました。)

Railsの最初のアプリケーションを作成

rails new myapp --database=postgresql
cd myapp
bundle install
rails db:create

PostgreSQLが起動していない場合、
(BrewでPostgreSQLを構築した場合は↓)

brew services start postgresql
rails db:create

起動確認

rails s

localhost:3000
上にアクセスするかlocalhost:3000を開いてください。(ポート番号を変更している場合は、そのポート番号に変更してください。)
下の画面が出てきたら起動できています!
rails起動!rails日の丸確認やったね!
(余談ですが、localhostは、127.0.0.1です。簡単にいうと、自分自身を指すIPアドレスなのでネット上のIPアドレスとは別物です!)

エラーが発生して赤い画面が出る場合

databeseやmigrateなどの文字が見える場合

データベース関連のエラー

  • PostgreSQLが起動できていない。
    => brewで環境構築している場合、brew services restart postgresql@14のコマンドを叩いてみて、Successfullyの文字が見えたら、rails db:createを叩いた後にrailsの起動確認をしてください。
  • config/database.ymlでPostgreSQLを使う設定ができていない。(アプリケーション作成時にrails new myapp --database=postgresqlが正確にで生きている場合は、この可能性はほぼなし。)
    => config/database.ymlのadapter: を探して、adapter: postgresqlに変更する。

コントローラーとモデル作成する

コントローラー編

rails g controller products
rails g controller users

モデル編

rails g model user
rails g model product

db/migrateapp/viewsapp/controllersの配下にファイル2個作成されていたら成功です。

ルーティング設定

表示したいファイルをルーティング設定で一番最初に表示されるようにしましょう。

表示できているか確認するためにビューを変更する

app/views/products/index.html.erbを最初に表示させるために、routes.rbを変更します。
app/views/products/index.html.erbに下を追記する。

このページはproducts#indexです。

config/routes.rbに下を追記する。このファイルでパスとかを設定します。

root "products#index"

表示されているか確認

rails sして、localhost:3000で確認!(起動しっぱなしの人はCtrl+cで停止できます。)
むむむ。
マイグレーションエラーが発生
MigrationErrorは、データベース系の問題です!
解決は簡単で、マイグレートするだけ!(自分のポンコツミスです。)

rails db:migrate

railsを停止して、上のコマンドを叩いて、もう一度起動して確認してみましょう!
ルーティング確認完了
成功ですね!

終わりに

次回は、マイグレーションとページの移動までしていきます。
Githubも更新していく予定です。こちらから確認できます!
2nd commitというコメントでプッシュしてます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?