Railsの勉強を初めて約4ヶ月(Bootstrapとかに寄り道した時期もありました)、Progateを終えた後は参考書で勉強をしていましたがモチベーション低下してきたので、自分なりにアプリを作り始めました。これまでやってきたことをメモ帳に書いていましたが、せっかくなので記事にしていきます。
##執筆時点のスキルレベル
- Progate Ruby/Railsコース完了
- ドットインストール Railsコース完了
- [書籍]Ruby on Rails 5 速習実践ガイド(途中まで。ちょっと難易度高め。)
- [書籍]基礎 Ruby on Rails 改訂4版(途中でモチベーション低下。笑)
Progateが終わったけど何しようという方が、最短でとりあえず動くアプリの原型を作れるような記事に出来ればと思っています。
##どんなアプリか
私の好きなラーメンの食べログ風(ぶっちゃけ劣化)アプリです。
##主な機能
- ラーメン管理
- 店舗管理
- ログイン(ユーザ管理)
- レビュー投稿
##OS
Catallina 10.15.6
##バージョン
ターミナル
% rbenv -v
rbenv 1.1.2
% ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
% rails -v
Rails 6.0.3.2
% psql --version
psql (PostgreSQL) 12.3
##PostgreSQL起動
ターミナル
% brew services start postgresql
##アプリケーション新規作成
メールの機能は使わないのでオプションをつける
ターミナル
% rails new appname -d postgresql --skip-action-mailer --skip-action-mailbox
##データベース設定
17行目あたり
database.yml
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see Rails configuration guide
# https://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: XXXXX
password: XXXXX
host: localhost
##データベース作成
ターミナル
% bin/rails db:create
##タイムゾーン
27行目あたり
config/application.rb
config.time_zone = "Tokyo"
##サーバ起動
ターミナル
% bin/rails s
ポートを変更したい時。ローカルで複数アプリを作っている場合などに。
ターミナル
% bin/rails s -p 3001
バックグランドで実行させたい時
ターミナル
% bin/rails s -d
バックグラウンドで実行した場合、サーバ停止する際は puma の PID を確認して kill する。
ターミナル
% ps aux | grep puma
XXXXX 1134 0.0 0.3 4553888 48736 s000 S+ 水08PM 1:39.24 puma 4.3.5 (tcp://localhost:3000) [appname]
% kill 1134
##アクセス
http://localhost:3000/