前回の記事で

 

 

変数を追加して画面に表示させることは把握できたので今回は

そのデータを記録していくデータベースについて学びます。

データベースを活用する

 

まず最初は

 

投稿を記録する postテーブルについて学んでいきます。

 

 

こちらですが

 

  • 1データベースに変更を指示するファイルを作成する。
  • 2 データベースに変更を反映する

 

の手順で行なっていきます。

 

まずは1から見ていきましょう。

1ではマイグレーションファイルというデータベースに変更を加えるための

ファイルを作成します。

 

いつものようにターミナルで

 

 

と記述してあげます。

 

するとdbファイル内のmigrateフォルダ内に

 

migrateファイルが形成されます。

これで変更を加えう準備はできました。

 

 

次は実際に変更を加えていきます。

 

再びターミナルで

 

 

と記述してあげることで

 

postsテーブル内に

 

id   content  createde_at   updated_at

のカラムが作成されます。

 

これで一旦投稿が表示されます。

 

ここからいよいよデータを残したり

変更を加えていきます。

 

rails console

 

rails consoleはRuyのコードを手軽に実行できる環境を整備することができます

 

これを用いて記述していきましょー

 

 

のように実行することができます。

 

 

を実行することでコンソールを終了することができます。

 

ではいよいよ投稿作業っす!!

投稿作業

 

 

ここではrails consoleを使って投稿していきます。

 

PostモデルからPostインスタンスを作成します。

rails consoleを起動した前提でお話ししていきますが

 

 

 

contentが気持ちの良い朝ですね

のPostインスタンスが作成されます。

 

このインスタンスをデータベースに保存したいので

saveメソッドを用います。

 

 

これでデータベースに保存がされます。

contentの部分にはインスタンスの中身が

created_atには作成時刻

updatede_atには更新時刻それぞれが表示されます。

 

テーブルからデータを取り出す

 

db(データベース)に保存された

データを表示させていきます。

 

 

こちらを入力することで

Postテーブルの一番目のidの列が呼び出せます。

 

その中でも

 

と打ち込むことで

contentの中身だけを表示することができます。

 

先ほど保存した

 

気持ちの良い朝ですね

 

が表示されます。

 

 

テーブル要素の全てを取り出す

 

ここではallメソッドを用います

 

 

これでpostテーブルに保存された全てのデータにアクセスできます。

 

 

id content created_at update_at全てが取得できます。

 

 

 

上記のように取得する中身を指定することも可能です。

 

共通のページを作る

 

最後になりますが

ある共通のページを作成したい場合

 

 

こちらのファイルに記述してあげることで

共通のHTMLを記述できページに反映できます。

 

それ以外のページごとの記述については

controller内に

 

 

と記述してあげることで

自然と代入されます。

 

このyieldの部分に

それぞれのhtmlで記述されたコードが表示されます。

 

具体例。

 

例えばcontrollerのなかに

このような記述があった場合

 

aboutのviewページのhtmlに上記のように記述した場合はどうなるか??

 

の表示になります。

 

<%=yield %>  から

 

<div> Instagramとは? </div>

に置き換わりました。

 

yieldには代入が行われます。

これでページごとに表示が切り替えられるようになります。

 

link_toメソッド

 

もういっちょ最後にlinkを記述するメソッド

link_toメソッド

です。

 

 

こちらの使い方ですが

 

<%= link_to("第一引数"," 第二引数") %>

で記述してあげます。

 

ここの第一引数がhtml内の文字となり

第二引数がURLになります。

具体例をあげますね。

 

 

上記の記述をしてあげることで

 

html内では

 

 

の表記になります。

 

 

これでリンクも作れるようになりましたね!

 

 

 

まとめ

 

徐々にTwitterの雰囲気が掴めてきました。

いい流れです。

 

コツコツ学んでいきますよ〜。

 

Rubyの基礎部分は今のところ独学でなんとかなりそうです。

投稿したり環境構築したりするのが非常に難しいと言われてるので

そこらあたりから少しスクールを考えるべきやと思います。

 

もし、Rubyを働きながら学べるのであれば最高なんですけどね。

ずっとその会社に恩を感じると思います。

 

おすすめの記事