続きやっていきます。

 

続いては前回投稿の表示ができるようになったので

今回はそのページに飛べるようにします。

 

以前学習したlink_toメソッドを使います、

 

投稿にlink_toを付与する。

 

これは見ていただいた方が早いと思います。

 

 

のlink_toメソッドが再び出てきます。

 

 

ここに記述したように

第一引数は投稿の内容。第二引数はその投稿のidに応じたURL

にジャンプすることを示しています。

 

投稿を保存する準備

 

投稿を保存する流れとしては

 

  • 投稿をrailsが受け取る
  • DBで保存する

 

この二つの作業を行います。

 

投稿を行う

 

crateアクションのルーティング

今回はdbに保存を行うため

getではなくpostを用います。

 

 

続いてフォームに記入して送信する準備を行います。

 

ここで新しいメソッド

 

form_tagメソッドを使います。

 

 

form_tagの後で

 

どこのURLに飛ばすか指定します。

 

上の場合は

 

に飛ばします。

 

ちなみに注意点として

 

<%= form_tag ()%>   と  <% end %>

 

の間にhtmlのフォームを記述してあげます。

 

 

このあたりはまだ理解しやすいですね!

 

redirect_toメソッド

 

また新しいメソッド

 

redirect_toメソッド

が出てきましたよ。

 

これは引数のページに飛ばすことのできるメソッドになります。

 

createアクションが行われた場合

 

/posts/indexのページに飛ぶことができます。

 

 

投稿内容を保存しよう

 

ここまでくればもう一息です。

 

投稿をDBに保存していきます!

 

textareaタグにname属性を指定してあげることで入力データを送信することができます。

 

そしてname属性をキーとしたハッシュがrails側に送られます。

 

新規の投稿内容がハッシュの値になります。

 

 

ここでキーを呼び出していますが

ハッシュは

 

フォームに記述されたテキストが呼び出されます。

 

続いてフォームの保存の仕方ですね。

 

 

フォームを保存して投稿

 

ではアクション内でDBに保存していきましょう。

 

 

こんな感じですね。

 

これで

"/posts/index"

 

内で投稿が表示されます。

またDB内にデータが保存できます。

 

 

orderメソッド

 

表示順を変えるメソッドがorderメソッドです。

 

昇順がask

降順がdesc

 

で表示されます。

 

 

 

この記述で最新の投稿順に表示がなされます。

 

だと古いものから表示がされます。

 

まとめ

 

 

一旦これで3章は終わりです。

 

けれどもまだスタート地点にも立っていないので気が遠くなりそうですが

振り絞ってやります。

 

とにかくやります。

 

 

この記事は長い間固定ツイートにしていますが

本当にこの通りだと思います。

同世代の人は絶対読んでおくべき記事です。

おすすめの記事