Ruby on Railsの認定試験「Rails4技術者認定ブロンズ試験」(運営:Rails技術者認定試験運営委員会)の模擬問題にチャレンジする連載の第6回です。今回はrails g modelコマンドでの外部キー制約の指定や中間モデル作成のための指定、ポリモーフィック関連付けの定義方法などを採り上げます。また「すべてのテストを実行し、かつデータベースをリセットするコマンド」など現場でも有益なコマンドについての出題もあります。
「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〕
この記事は参考になりましたか?
- Rails4技術者認定ブロンズ試験 模擬試験問題集連載記事一覧
-
- 【Rails4ブロンズ】rails g modelコマンドで外部キー制約を同時作成するため...
- 【Rails4ブロンズ】価格(price列)の最大値や最小値、合計を求めるActive R...
- 【Rails4ブロンズ】文字列を単数形から複数形にするActive Supportのメソッ...
- この記事の著者
-
野呂 浩良(株式会社Dive into Code)(ノロ ヒロヨシ)
MBAエンジニア講師。リクルートやワークスアプリケーションズなど異業種・異職種への転職を4度経験。あらゆる時間を計測し、未経験の職務でゼロから短期間に成果をあげる独自の生産性向上手法を確立。表彰多数。2014年にグロービス経営大学院大学MBAを取得。1年間の独立・起業過程でエンジニア人材の不足を痛感し、ゼロから独学でプログラミングを学習して2ヶ月でWEBアプリケーションを開発する。その経験と学習法を活かし、非エンジニアからエンジニアへ転向するた...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

