0
0

More than 3 years have passed since last update.

Railsチュートリアルメモ - 第4章・第5章

Last updated at Posted at 2020-01-03

メモの目次記事はこちら

公式Railsチュートリアル第4章へのリンク
公式Railsチュートリアル第5章へのリンク

Railsチュートリアルで気づいたことのメモを記載していきます

4.1 動機

Rubyに関する知識を深めていく章。
手始めに条件分岐で異なる文字列を返すhelperを自作する。

4.2 文字列とメソッド

ポイント

  • 文字列の式展開 => Rubyはシングルクォート文字列の中では式展開を行わない(シェルスクリプトと同じ)
  • putsメソッド(printメソッド + 行末の改行)
  • nil
  • 暗黙の戻り値 => メソッド内にreturnを明示しなくても最後に評価した式をreturnする
  • mixed in => moduleをincludeすること
  • Railsでは自動的にヘルパーモジュールをmixed inしてくれるため、include行を書かなくてもOK

4.3 他のデータ構造

たぶんここらへんで眠くなって落脱する人が多い気がする、、、
初心者は流し読みにして、後でわからないところが出てきたら戻ってくるくらいの方が良さそう

ポイント

  • Rubyの配列はゼロオリジン(ゼロ・インデックス)
  • 比較演算子(==、!=)
  • 破壊的メソッド(メソッドの最後が!)
  • pushメソッド (または同等の<<演算子)
  • 範囲 (range) e.g (0..9).to_a

Rubyは改行と空白を区別しない(式の途中で改行してもOK)

4.4 Rubyにおけるクラス

ポイント

  • リテラルコンストラクタ、名前付きコンストラクタ
  • superclassメソッド
  • selfキーワード
  • eachメソッド
  • ブロック e.g. { |i| puts 2 * i } => pythonでいうlambda?
  • ハッシュとシンボル
  • 以下は等価
    • { :name => "Michael Hartl" }
    • { name: "Michael Hartl" }
  • 組み込みクラスの変更が可能
  • attr_accessor => attributeに対しるaccessorを作成するための記法
  • initialize => 初期化メソッド(pythonでいうinitと同じ)

5.1 構造を追加する

html/cssについての解説の章。

ポイント

  • パーシャル(DOMの一部を_始まりのファイルに切り出せる)

5.2 Sassとアセットパイプライン

SASS(CSSプリプロセッサー)の説明とRailsでの指定の仕方についての章。

ポイント

  • アセットディレクトリ(*/assetsで表される静的ファイルを目的別に分類するディレクトリ)
  • マニフェストファイル(アセットディレクトリにあるファイルをどのようにまとめるかを定義するファイル。実際の処理はSprocketsというgemが行う)
  • プリプロセッサエンジン(.scssや.erbなどを変換して、html/css/jsに置き換えてくれるやつ。Sprocketsがアセットをまとめてくれた後にプリプロセッサエンジンが実行される)
  • Sassの変数
    • $始まりで変数を定義できる
    • bootstrap lessで定義されている変数(@gray-light)なども$gray-lightと書けば使用可能

5.3 レイアウトのリンク

  • 名前付きルート
    • config/routes.rbの中でget '/help', to: 'static_pages#help', as: 'helf'のように書くとhelp_pathやhelp_urlのような形で呼び出せるようになる
  • 統合テストの作成
    • rails generate integration_test site_layoutで統合テストを作成できる
    • rails test:integrationで統合テストの実行

5.4 ユーザー登録: 最初のステップ

6章以降でユーザー登録処理を作成していくための導入。ここではこれまでの章の振り返り的な内容。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0