【ツイートで振り返り】Progate Rails5 学習コース3
スポンサーリンク
現在(2018/07/30)、Railsチュートリアルを絶賛学習中。
この前にProgateでRailsやっていたので、復習も兼ねて、ブログにアウトプット。
ツイートもしてたので、それも振り返り。
本日もざっくりいきます。
詳細はこちらで。
さて、学習コース3です。
データベースから、idでのデータ取得、ブラウザ表示を学ぶ。
— ろきsan@[Rails]プログラミング続ける人。 (@AhrkIzo) June 7, 2018
URLから情報を得るのね。
【プログラミング学習のProgate】Ruby on Rails5のレベルが14にUPしました! https://t.co/qbBHhPrgRt #Progate
投稿内容の表示とリンクを学ぶ。
— ろきsan@[Rails]プログラミング続ける人。 (@AhrkIzo) June 7, 2018
find_by
params[:id]
link_to
これらの組み合わせであり、復習。
【プログラミング学習のProgate】Ruby on Rails5のレベルが15にUPしました! https://t.co/qbBHhPrgRt #Progate
「3」修了!
— ろきsan@[Rails]プログラミング続ける人。 (@AhrkIzo) June 9, 2018
いろんなメソッド出てきたな!
find_by
link_to
form_tag
redirect_to
order
便利。便利。
Ruby on Rails5 学習コース Ⅲを修了しました! https://t.co/qbBHhPrgRt #Progate
【振り返り】
投稿詳細ページを作成する
投稿一覧ページから選択した投稿の詳細ページ。
どれを選択したか、投稿の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」
ちょうどここらで、お絵かきで遊んでみた♪
【Progateパロディ】
— ろきsan@[Rails]プログラミング続ける人。 (@AhrkIzo) June 9, 2018
ブラックひつじ仙人。#勝手にパロディ#絶対怒られる#Progateファンです pic.twitter.com/Wg1bvWy7eJ
この振り返り、Railsチュートリアルまでやりたいな。
なので、クォリティはこんな感じで。(間違いもあるかもしれんし)
頑張りすぎると続かないから。わはは。