『徹底攻略Rails4技術者認定シルバー試験問題集』第1章「Rails概要」の勉強メモです。
第1章 Rails概要
問1
- Action Pack は Action Dispatcher と Action Controller で構成されている
- Action Mailer ではメールの送信だけでなく受信も可能
- Railtie は Rails のプラグイン機構。Active Record、Action View なども、この機構を利用している
問3
- app/controllers/concerns/、app/models/concerns/ に共通コードが置ける
- フィクスチャは test/fixtures/ に置く
問4
- rails new コマンドに省略形はない
- rails generate view コマンドは存在しない(view というジェネレータは存在しない)
- rails generate コマンドの省略形は rails g
- rails destroy AAA BBB コマンドを実行すると、rails generate AAA BBB コマンドで作られたファイルが削除できる
- rails destroy コマンドの省略形は rails d
- rails dbconsole コマンドの省略形は rails db
- rails console --sandbox コマンドでコンソールを起動すると、終了時にデータベースのトランザクションがロールバックされる
問6
- rake -D コマンドで、タスクの説明文を途切れさせずに表示できる
問7
- rake stats で、コードの統計が表示できる
- rake notes で、TODO、FIXME、OPTIMIZEコメント行が表示できる
問8
- String#html_safe で、「安全である」とマークされた文字列(ActiveSupport::SafeBuffer のインスタンス)が得られる
問9
- Object#presence は、レシーバの present? メソッドが true を返す場合はレシーバ自身を、それ以外の場合は nil を返す
問11
- Object#in?(val) は、val.include?(self) の結果を返す。ただし、val が include? メソッドを持たない場合は例外が発生する
- Hash#include?(key) は、ハッシュのキーに key が存在する場合に true を返す
問12
- Module.delegate で、別のオブジェクトにメソッドを委譲できる。1つ以上のメソッド名と、:to オプションで委譲先を指定するのが基本形
問13
- Module.cattr_accessor は Module.mattr_accessor のエイリアスであり、クラス変数のアクセサが定義できる
- Module.cattr_accessor にブロックを渡すことで、クラス変数の初期値が設定できる
- Module.cattr_accessor のデフォルトでは、インスタンス用のアクセサも定義される(:instance_accessor オプションを false にすることで回避できる)