5章 レイアウトを作成する
HTMLでのクラスとid
クラスとidの主な違いは、
クラスはページ内で何度でも使えるのに対し、idは一度しか使えない点です
full_titleメソッドが定義されていないエラー
undefined method `full_title' for
と出てしまう。
ApplicationHelperで、full_titleメソッドを定義していないかった。
以下リンクにコード
https://stackoverflow.com/questions/23630949/undefined-method-full-title
解決時間10分
Bootstrapで簡単にCSSがコーディング
stylesheets/custom.scssで、
@import "bootstrap-sprockets"; @import "bootstrap";
などと書く。
タイポグラフィも整えよう
タイポグラフィとは、文字を整えること。
それぞれh1などで大きさなどを整えていく
CSSを書く場所
すべてcustom.scssに記載!?
パーシャルという機能
DRYに従い複数のコードを一つにまとめるもの
使えるか知らんけどまとめ https://materializer.co/lab/blog/32
1.パーシャルは自分でファイル(erb)を作成しないとダメ。
2.各_header.html.erbなどで、共通部分を記載
<header class="navbar navbar-fixed-top navbar-inverse"> <div class="container"> <%= link_to "sample app", '#', id: "logo" %> <nav> <ul class="nav navbar-nav navbar-right"> <li><%= link_to "Home", '#' %></li> <li><%= link_to "Help", '#' %></li> <li><%= link_to "Log in", '#' %></li> </ul> </nav> </div> </header>
3.application.html.erbで
<%= render 'layouts/header' %> と書いて、共通部分を一つにまとめる。
アセットパイプライン
アセットパイプラインとは・・・
作業がしやすいように画像、javascript、css、htmlファイルを分解つしてコーディングして、最終的に1つのファイルにまとめる仕組み(フレームワーク)
人間はファイルを構造化して分けるが、機械は統合する!?
5.26あたりでテストするとfailresが3つ出る
1) Failure:
StaticPagesControllerTest#test_should_get_about [/home/ec2-user/environment/sample_app/test/controllers/static_pages_controller_test.rb:20]:
<About | Ruby on Rails Tutorial Sample App> expected but was
<Ruby on Rails Tutorial Sample App | About>..
Expected 0 to be >= 1.
のようなのが3つ
contact/about/helpでエラー
※7/22追記
test上の順番を入れ替えることで解決。
統合テスト
統合テストを使うと、
アプリケーションの動作を端から端まで (end-to-end) シミュレートしてテストすることができます。
→一つ一つリンクをクリックしなくて良い
assert_select
なぞい。
難易度
★★★☆☆
routeの書き方イマイチ不明。宣言して固有名詞のやつ、どこで宣言するのか。
assert_selectなぞ