『徹底攻略Rails4技術者認定シルバー試験問題集』第1章の勉強メモ

More than 1 year has passed since last update.

徹底攻略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 にすることで回避できる)

リンク