TechAcademy Webアプリケーションコース(27日目)

Lesson15 Twitterクローン作成
ファイルの数の多さに圧倒される。特にトップページからの作成。
見たことがあるコードの解説はなく、分かっていなかったコードは前のカリキュラムやLessonに戻って思い出すという流れ。
まだテキストに書いてるコードを打っていけば進めるが、ノーヒントの課題が凄く難しいとメンターの先生に前々から聞いているので戦々恐々である。

まずは、
〇プロジェクトの作成
$ rails _5.2.2_ new microposts --database=mysql --skip-test
マイクロポストというのかTwitterクローンの機能なのかただの名称なのか?

〇Git
毎度お決まりの、git add . (ステージ) → git commit (コミット)

〇データベースの作成
$ rails db:create
$ rails s
サーバを起動してトップを確認。エラーが起きたし…
データベースのサーバ起動(sudo service mysqld start)やりましょうとの説明なし。意地悪されましたね。

〇初期設定
ジェネレータの設定 config/initializers/generators.rb
不要な自動生成をしないためにファイルを作成して設定する。

ページネーション 長くなってしまう文章を複数のページに分割できる。
Gemfile に gem 'kaminari' 追記 → $ bundle install で実行
$ rails g kaminari:views bootstrap4 (Bootstrapへ適応もする)


〇トップページ作成
・Model トップページ専用のモデルは作成する必要なし

・Router トップページは root を使って設定
config/routes.rb

・toppages#index
・Controller
$ rails g controller toppages index ファイルとフォルダを自動生成
app/controllers/toppages_controller.rb ファイル特に書くことなし

・View ※ここからあまり理解できてなかったコードもまとめる。
・共通レイアウト
app/views/layouts/application.html.erb

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
Lesson3 Bootstrap viewportはスマートフォンやPC画面における表示領域のこと
OSのSafariで表示倍率を自動的に縮小する処理を無効にする(shrink-to-fit=no)

<script defer src="https://use.fontawesome.com/releases/v5.7.2/js/all.js"></script>
Bootstrap CDN にないコード。外部アイコンを追加するのに必要。

・フラッシュメッセージ
app/views/layouts/_flash_messages.html.erb

・エラーメッセージ
app/views/layouts/_error_messages.html.erb

・ナビバー
app/views/layouts/_navbar.html.erb

〇ユーザ登録機能
・Model
ユーザテーブルの設計
$ rails g model User name:string email:string password_digest:string

ユーザテーブル設計のマイグレーションファイル 確認
マイグレーションの実行 $ rails db:migrate

has_secure_password を有効にする(パスワードの暗号化)
バリデーション 入力チェック・書式チェック・妥当性の確認

rails console でユーザを作成 動作確認もする。

・Router
config/routes.rb

・UsersControllerの作成
$ rails g controller users index show new create

・View
users#index Helper,Gravatar
users#show 
users#new 
users#create 

明日は
ログインの仕組み
投稿機能
のカリキュラムを進めて、
課題:ログイン認証と一対多をタスク管理アプリに追加する
まで到達していきたい。

この記事が気に入ったらサポートをしてみませんか?