プログラミング学習(五日目)ProgateでRuby On Rails レッスン4


今日学んだこと

投稿の編集

a = Post.find_by(id:2) データベースから編集したい投稿の取得
a.content = "Hello World" 編集したいカラムの値の上書き
a.save データベースに保存

今までやったこととほぼ一緒なのであまり難しくはない

投稿の削除

a = Post.find_by(id:6) データベースから削除したい投稿の取得
a.destroy destroyメソッドでデータベースから削除

編集時のポイント

html.erbファイルにて
<textarea>こんにちは</textarea>
とすると、入力フォームに「こんにちは」が元から入っている状態になる

ルーティングでの「get」と「post」

get "URL"は、
データベースを変更しないアクションへ移動

post "URL"は、
データベースを変更するアクションへ移動

「link_to」メソッドは、ルーティングでget"URL"を探してしまうので
「destroy」メソッドを使うときに、「link_to」メソッドの第三引数に{method:"post"}を入れるとpostで定義されたルーティングを探してくれる。

危うく三日坊主になるところだった...