「Rails4技術者認定ブロンズ試験」対応の模擬試験問題です。株式会社Dive into Codeの野呂浩良が出題します。
問題1~5
問題1
アプリケーションで使うデータベースを新規作成するコマンドを選びなさい。
- 1.rake db:migrate
- 2.rake db:migrate:reset
- 3.rake db:make
- 4.rake db:create
- 5.rake db:seed
解答・解説
データベースは、config/database.ymlファイル内に記述されたdatabase情報をもとにrake db:create
コマンドで作成します。
1. は、テーブルを作成・変更するコマンドです。
2. は、データベースとテーブルを初期化して再作成するコマンドです。
3. は存在しません。
5. は、テーブル内に入れておく初期(シード)データを作成するコマンドです。
〔正解:4〕
問題2
アプリケーションを新規作成する際に、利用するデータベース管理システムをPostgreSQLあるいはMySQLにするために、ふさわしくないオプションの書き方を2つ選びなさい。
- 1.-d postgres
- 2.–database=postgresql
- 3.-d mysql
- 4.–database=mysql
- 5.–database=postgres
解答・解説
データベース管理システムを指定するときには、-d DATABASE名
あるいは--database=DATABASE名
として記述します。PostgreSQLを指定する場合は、postgresql
と記述する必要があります。postgres
ではエラーになります。
〔正解:1、5〕
問題3
本番環境をPaaS上で動かしたい。本番環境のデータベース管理システムへの接続情報として、PaaS内の環境変数DATABASE_URLで定義された値を元に接続先databaseを設定したい。書き方としてふさわしいものを選びなさい。
※PaaS内の環境変数DATABASE_URL内には、url形式で正しく値が設定されている前提とする。
-
1.config/database.ymlファイル内に以下を記載する。
development: <<: *default url: <%= ENV['DATABASE_URL'] %>
-
2.config/database.ymlファイル内に以下を記載する。
development: <<: *default url: <%= env['DATABASE_URL'] %>
-
3.config/database.ymlファイル内に以下を記載する。
production: <<: *default url: <%= ENV['DATABASE_URL'] %>
-
4.config/database.ymlファイル内に以下を記載する。
production: <<: *default url: <%= env['DATABASE_URL'] %>
-
5.config/environment.rbファイル内に以下を記載する。
production: <<: *default url: <%= ENV['DATABASE_URL'] %>
解答・解説
データベース管理システムの接続先設定は、config/database.ymlに記載します。本番環境はproduction
です。また、環境変数を使う場合は必ず大文字でENV['環境変数']
と記載します。小文字では、NameError: undefined local variable or method `env' for main:Objectエラーが発生してしまいます。
〔正解:3〕
問題4
blogsテーブル内のすべてのレコードを削除するメソッドを2つ選びなさい。
- 1.Blog.destroy_all
- 2.Blog.delete_all
- 3.Blog.destroy
- 4.Blog.delete
- 5.Blogs.delete_all
解答・解説
.destroy_all
メソッドや.delete_all
メソッドを使うと、該当モデルに紐付くテーブル内の全レコードを削除することができます。
.destroy_all
メソッドでは、全てのレコードに対してコールバックが発生するため、処理に時間がかかることがあります。
.destroy
メソッドや.delete
メソッドは、該当のidに一致する1レコードのみを削除します。
〔正解:1、2〕
問題5
環境内で利用しているRubyのバージョンを確認する方法として正しいものを3つ選びなさい。
- 1.コンソール上で「rails c」コマンドを実行した後に「RUBY_VERSION」を実行する
- 2.コンソール上で「ruby -v」コマンドを実行する
- 3.コンソール上で「ruby –version」コマンドを実行する
- 4.コンソール上で「ruby version」コマンドを実行する
- 5.コンソール上で「ruby -V」コマンドを実行する
解答・解説
ruby version
やruby -V
というコマンドは存在しません。
〔正解:1、2、3〕