ツイート表示に必要な知識


どうも、ニムです。

本日は、<ツイートを表示する>にあたって必要な知識を学びました。

ツイートをの表示を行なっていく際に、データの取り扱いを行います。
取り扱いの基本処理をまとめてCRUDと呼ぶ。
RailsではCRUDを7つのアクションに分割して、処理を実現する。

■ CRUDとは、
〜アプリケーションのデータの取り扱いに関して、基本的な処理の頭文字を並べたものです。
アプリケーションの機能は、この4つの処理を組み合わせながら実装します。
C :Create (生成)
R :Read  (読み取り)
U :Update (更新)
D :Delete (削除)

■ 7つのアクションとは、
〜CRUDを実現するにためには、それぞれの処理を記述する必要があります。
Railsには、それらのアクションの設定が慣習的に決められており、
様々なアクションが存在します。
index : 一覧表示
show : 詳細表示
new : 生成
create : 保存
edit : 編集
update : 更新
destroy : 削除

これらの7つのアクションのルーティングは、resourcesメソッドを使用することで
一度に設定することが可能です。

■ resourcesメソッド
〜7つのアクションへのルーティングを自動生産するメソッドです。
resourcesの引数に、:tweetsというシンボルを指定すると/tweetsのパスに
対応するルーティングが生成される。
7つのアクション全てのルーティングを設定したことになる。

■ onlyオプション
〜resourcesにオプションとしてonlyを加えると、指定したアクションのみの
ルーティングを自動生産する。

今度は<レイアウトの整形>についてです。
複数ページで、同じようなヘッダー・フッターを表示する場合、
各テンプレートファイルにも同じ記述をしないといけないためとても非効率である。
そのため、ページの共通部分はまとめて行きましょう。

■ レイアウトテンプレート
〜アプリケーションのビューファイルの共通部分をまとめたものです。
レイアウトテンプレートにheadの情報やヘッダー、フッターなどの全てのビューで
共通となる部分を記述しておくことで、各テンプレートファイルは個別の見た目を
記述するだけでよくなります。
Railsの場合、application.html.erbというファイルがレイアウトテンプレートになる。

■ application.html.erbファイル
〜Railsのテンプレートに該当するファイルです。レイアウトファイルとも呼ばれる。
application.html.erbはapp/vies/layoutsディレクトリに配置されている。
application.html.erbには、head要素やbody要素がはじめから記述されています。

■ yieldメソッド
〜レイアウトテンプレートに各テンプレートファイルを展開するためのメソッドです。
yieldを記述することで、indexアクションの場合はテンプレートファイルの
index.html.erbの内容が、newアクションの場合は、new.html.erbが
yield記述部分へ展開されるようになります。

したがって、head要素の情報をわざわざ各ページに記載する必要がないのです。
同様の考えで、全ての画面で表示させるヘッダーやフッターなども、このレイアウトテンプレートに
記述すれば各ページに反映されます。

続いて、見た目部分を整える際に必要な知識です。

■ stylesheet_link_tagメソッド
〜読み込むCSSファイルを指定できるヘルパーメソッドです。読み込むためのCSSファイルは
app/assets/stylesheets/というディレクトリに配置します。
application.html.erbのstylesheet_link_tagの引数には、
'application'と書いてあるため、app/assets/stylesheets/ディレクトリ内の
application.cssというCSSファイルを読み込むことを示している。

■ application.cssファイル
〜Railsにはじめから用意されている、CSSファイルをまとめるためのファイルです。
マニフェストファイルとも呼ばれている。

application.cssには、アプリケーション全体に適用するCSSを指定できます。
*=のような特殊な記法に続けて他のCSSファイルなどを指定すれば、
複数のCSSファイルをまとめて読み込むことが可能です。

■ require_tree
〜引数として与えられたディレクトリ以下のCSSファイルをアルファベット順に
すべて読み込むという機能を持ちます。
application.cssには、はじめからrequire_tree .という記述があります。
引数に与えられた.(ドット)は、カレントディレクトリを表すものです。

これらの役割を理解することで、ツイートを表示する際に役立ちます。
今後もアウトプットを行なってまいります。

最後まで読んでいただき、ありがとうございます。

ニム