ろきメモ【ROKI MEMO】- ろきsanの備忘録 -

ろきさんの備忘録。プログラミング学習記録や開発記録、および学んだ知識等のアウトプットとシェアを目的に書いています。たまに普通のことも書きます。

【ツイートで振り返り】Progate Rails5 学習コース3

スポンサーリンク

現在(2018/07/30)、Railsチュートリアルを絶賛学習中。

 

この前にProgateでRailsやっていたので、復習も兼ねて、ブログにアウトプット。

ツイートもしてたので、それも振り返り。

 

本日もざっくりいきます。

 

詳細はこちらで。

prog-8.com

 

 

さて、学習コース3です。

 

 

 

 

【振り返り】

 

投稿詳細ページを作成する

 

投稿一覧ページから選択した投稿の詳細ページ。

どれを選択したか、投稿のidがポイント。

 

データベースからデータを取得する

 

DBのテーブル作ったときに、以下のカラムは自動でできるよ。

created_at:データ保存した日時
updated_at:更新日時


find_byメソッドでデータ取得

変数 = クラス.find_by(id: 1)


URLからid取得するために、ルーティングに記述

get "posts/:id" => "posts#show"

 

これを書く位置に気をつける!
これを上に書くと、優先されて、indexとかがidじゃないのに、このルーティングに乗っちゃうよ。

 

 

コントローラーとビューに記述

コントローラーでURLのidを取得するには

ルーティングで設定した「:id」は、params[:id]で取得できる

だからコントローラで、find_byメソッドと組み合わせると、

変数 = クラス.find_by(id: params[:id])


あとはビューでうまいこと<% %>とか<%= %>とか使って表示

(端折りすぎ!)

 


新規投稿ページを作成

 

ルーティングには、データベースの中身変えるから、「get」じゃなく「post」

フォームの送信には

form_tagメソッド


投稿したらリダイレクト

redirect_to(URL)

で、そのページに飛んでくれる

 

 

データベースにデータ登録

投稿内容を、DBに登録するには

変数 = クラス.new(カラム: params[:カラム])
変数.save

saveを忘れがちだから気をつけろ!(ぼくだけ?)

 

 

データ表示の並び替え

投稿一覧で並び替え

orderメソッド使う

作成日時の降順なら

変数 = クラス.order(created_at: :desc)

「:」が2つあるからややこしいね

昇順は、「:asc」

降順は、「:desc」

 

 

ちょうどここらで、お絵かきで遊んでみた♪

 

 

この振り返り、Railsチュートリアルまでやりたいな。

なので、クォリティはこんな感じで。(間違いもあるかもしれんし)

頑張りすぎると続かないから。わはは。