ことはじめ

実験したり勉強したり。

Rails勉強1日目

目的(毎回書く)

  • 次の業務でやるかもしれない
  • 簡単にサーバーサイド作れるようになりたい
  • Web周りの知識がからっきしなので強くなる

やること(毎回書く)

Ruby on Rails 5アプリケーションプログラミングを読了する。

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

やったこと

  • 1 ~ 3章を読む

メモ

基礎の章

  • アプリケーションフレームワークの世界では、ユーザーコードがアプリケーションフレームワークによって呼び出される
  • DRY(Don't Repeat Yourself)
  • Coc(Convention over Configuration)
  • Rails5.1ではBabelが導入される
  • RailsAPI: Web API開発に特化したRails
  • RESTful(復習)
    • ネットワーク上のコンテンツ(リソース)を全て一意なURLで表現しリソースに対するCRUD操作は全てHTTPメソッドで表現する考え方

rbenvを使ったrubyインスコ

railsインスコエラーではまった

MVCの章

コントローラー関連の命名規則

コントローラー名→「Hello」とした時 - クラス名 → HelloController - ファイル名 → hello_controller.rb - ヘルパーファイル名 → hello_helper.rb - テストスクリプト名 → hello_controller_test.rb

→要はクラス名はcamelcaseでファイル名はsnakecaseってことな

コントローラー名はできるだけ操作対象のデータ名に沿って命名することが望ましい。

ビューの基本

部分テンプレート

ファイル名の先頭に_が付与されますの

レイアウトテンプレート

Railsではデフォルトでapplication.html.erbの「<%= yield %>」に個別のテンプレートを埋め込んだ上で、最終的な出力を生成します。 application.html.erbのことをレイアウトテンプレート(レイアウト)と呼びます

レイアウトのメリット

  • サイトデザインを変更する場合もレイアウトのみ変更すれば良い
  • 個別のテンプレートにはページ固有のコンテンツだけを記述すれば良い
  • サイト構成に一貫性ができるため、使い勝手も向上する

jbuilder

アクションの結果をJSON形式で出力するためのテンプレート

ビューヘルパー

テンプレートファイルを記述する際に役立つメソッドの総称 フォーム要素の生成、文字列や数値の整形、エンコード処理などビューでやることをラップしてくれる

fixture

YAML形式のデータをデータベースに流し込むための仕組み

YAML

  • 構造家データの記述に適したファイル形式でHTMLやXMLのようなマークアップ言語でなく、構造をインデントや記号で表すため読みやすい
  • インデントはタブは使えず、必ず空白を使う半角スペース2つ

&エイリアスを意味する

データに別名(エイリアス)をつけることで、別の場所からそのブロックを引用する

*は参照を意味する

モデルクラス

ORマッパー

  • リレーショナルデータベースとオブジェクト指向言語との橋渡しを受け持つライブラリのこと
  • ORマッパーを買いすることで、オブジェクト・リレーショナルモデルのギャップを解決
  • 基本的にSQL命令を記述する必要がなくなる

ActiveRecord

データベースのテーブル一つを一つのモデルクラスとして表現する

その他

  • rails dbconsoleコマンドを利用することでconfig/datamase.ymlで定義した接続情報にしたがってデータベースクライアントを起動できる!
  • modelクラス消した時にdbまで反映できてなくて、migrateが効かなかった
    • しっかりdbの中身を消そうね

Scaffoldingの章

Scaffolding: 基本機能をあらかじめ実装したアプリの骨格を作成する

感想

  • 何とかついていけそう。
  • もうちょいrubyの文法を学ばないとつまづきがち