「Rails4技術者認定ブロンズ試験」対応の模擬試験問題です。タイムシフト株式会社の野呂浩良が出題します。
問題1~4
問題1
rails g modelコマンドで外部キー制約を同時作成するために正しいものを選べ。
- 1. references
- 2. reference
- 3. relations
- 4. relation
解答・解説
選択肢1のreferences
を使うことによって外部キーが同時に作られます。選択肢2、3、4は rails g
(ジェネレータコマンド)では使えません。
〔正解:1〕
問題2
UserモデルとBlogモデルを多対多の関係にする。その際に中間テーブルとなるLikeモデルを作成する。
rails g modelコマンドを使った際に正しいものを選べ。
- 1. rails g model like user:references blog:references
- 2. rails g model like user:reference blog:reference
- 3. rails g model like user:relations blog:relations
- 4. rails g model like user:relation blog:relation
解答・解説
中間テーブルを作る際は選択肢1のreferences
を使うことができます。選択肢2、3、4はrails g
(ジェネレータコマンド)では使えません。
〔正解:1〕
問題3
validationの結果がnilのときに検証をスキップできるオプションは以下のうちのどれか。
- 1. :allow_nil
- 2. :allows_nil
- 3. :allow_blank
- 4. :allows_blank
解答・解説
:allow_blank
は空の場合にスキップするメソッドです。:allows_nil
や:allows_blank
は存在しません。
〔正解:1〕
問題4
特定のモデルが他の複数のモデルに属していることを、1つの関連付けのみで表現することができる「ポリモーフィック関連付け」を定義する正しい方法を選びなさい。
- 1. 参照先の外部キーを設定するカラムだけを作成する。
- 2. 参照先のモデル名を設定するカラムだけを作成する。
- 3. 参照先の外部キーとモデル名を設定するカラム両方を作成する。
- 4. 設定する必要はない。
解答・解説
参照先モデルの外部キー「id」と参照先モデル名を格納する2つのカラムが必要になります。
〔正解:3〕