誤った箇所やアドバイスを優しく教えていただけるとありがたいです。また、業務では行政系やっていたので細かいところは勘弁してください。
(※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
を開いてください。(ポート番号を変更している場合は、そのポート番号に変更してください。)
下の画面が出てきたら起動できています!
(余談ですが、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/migrate
とapp/views
とapp/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というコメントでプッシュしてます。