ろき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チュートリアルまでやりたいな。

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

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