8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【MetappiOnRails】Rails(初級) 50問 改訂版 v2

8
Posted at

Rails 50問 改訂版 v2

最初の20問は四択に変更しました。
21問目以降は記述式のままです。

第1問

質問

Railsで、URLとコントローラ・アクションの対応を定義するファイルは何ですか?

選択肢

A. app/models
B. config/routes.rb
C. app/views
D. db/migrate

答え

B. config/routes.rb

解説

Railsでは、まずルーティングがURLを見て、どのコントローラのどのアクションを動かすかを決めます。だから入口になる大事な設定ファイルです。

次の問題

第2問へ

第2問

質問

resources :posts と書いたとき、投稿一覧を表示するアクション名は何ですか?

選択肢

A. show
B. new
C. index
D. edit

答え

C. index

解説

index は一覧表示です。複数件をまとめて見せるときに使います。

次の問題

第3問へ

第3問

質問

resources :posts と書いたとき、1件詳細を表示するアクション名は何ですか?

選択肢

A. show
B. index
C. edit
D. new

答え

A. show

解説

show は1件だけ表示するアクションです。たとえば /posts/1 のようなURLでよく使われます。

次の問題

第4問へ

第4問

質問

新規作成フォームを表示するアクション名は何ですか?

選択肢

A. create
B. new
C. edit
D. update

答え

B. new

解説

new は作成画面を出す役目です。保存はまだせず、入力フォームだけを表示します。

次の問題

第5問へ

第5問

質問

新しいデータを保存するアクション名は何ですか?

選択肢

A. new
B. show
C. create
D. index

答え

C. create

解説

create はフォーム送信後に新しいデータを保存する役目です。new とセットで覚えると整理しやすいです。

次の問題

第6問へ

第6問

質問

編集フォームを表示するアクション名は何ですか?

選択肢

A. edit
B. update
C. show
D. destroy

答え

A. edit

解説

edit は既存データの編集画面を表示します。更新の実行そのものは update が担当します。

次の問題

第7問へ

第7問

質問

既存データを更新するアクション名は何ですか?

選択肢

A. edit
B. update
C. create
D. new

答え

B. update

解説

update はすでにあるデータを書き換えて保存します。edit が画面、update が保存処理です。

次の問題

第8問へ

第8問

質問

データを削除するアクション名は何ですか?

選択肢

A. delete
B. remove
C. destroy
D. drop

答え

C. destroy

解説

destroy は対象レコードを削除するアクションです。RESTfulな7アクションの1つです。

次の問題

第9問へ

第9問

質問

コントローラでURLやフォームの値を受け取るときによく使うオブジェクトは何ですか?

選択肢

A. render
B. params
C. yield
D. session_id

答え

B. params

解説

params にはURLの id やフォーム入力値が入ります。Railsでは最頻出レベルで使います。

次の問題

第10問へ

第10問

質問

コントローラからビューへ値を渡すときに使う、@post のような変数を何と呼びますか?

選択肢

A. ローカル変数
B. グローバル変数
C. インスタンス変数
D. 定数

答え

C. インスタンス変数

解説

@ がつく変数はインスタンス変数です。コントローラで入れた値を、そのままビューでも使えます。

次の問題

第11問へ

第11問

質問

ビューでRubyの実行結果を画面に表示するときに使う記法は何ですか?

選択肢

A. <% %>
B. <%= %>
C. {{ }}
D. [% %]

答え

B. <%= %>

解説

<%= %> は「結果を表示する」書き方です。たとえば <%= @post.title %> ならタイトルが画面に出ます。

次の問題

第12問へ

第12問

質問

ビューでRubyを実行するが、結果はそのまま表示しない記法は何ですか?

選択肢

A. <%= %>
B. <% %>
C. <#= #>
D. {{ }}

答え

B. <% %>

解説

<% %> は条件分岐や繰り返しなど、処理だけをしたいときに使います。表示したいときは = をつけます。

次の問題

第13問へ

第13問

質問

RailsのMVCで、データベースとのやり取りを担当するのは何ですか?

選択肢

A. Model
B. View
C. Controller
D. Route

答え

A. Model

解説

Modelはデータ担当です。取得、保存、更新、削除や、バリデーションなどを受け持ちます。

次の問題

第14問へ

第14問

質問

RailsのMVCで、画面表示を担当するのは何ですか?

選択肢

A. Helper
B. View
C. Controller
D. Migration

答え

B. View

解説

Viewはユーザーに見える画面を作る役目です。HTMLの見た目を担当します。

次の問題

第15問へ

第15問

質問

RailsのMVCで、リクエストを受け取りModelとViewをつなぐのは何ですか?

選択肢

A. Controller
B. View
C. Model
D. Layout

答え

A. Controller

解説

Controllerは橋渡し役です。リクエストを受け取り、Modelに処理を頼み、結果をViewへ渡します。

次の問題

第16問へ

第16問

質問

db/migrate に置かれる、テーブル作成や変更用のファイルは何と呼びますか?

選択肢

A. シードファイル
B. マイグレーションファイル
C. ルーティングファイル
D. レイアウトファイル

答え

B. マイグレーションファイル

解説

マイグレーションファイルはDBの設計変更履歴です。テーブル作成やカラム追加などを時系列で管理します。

次の問題

第17問へ

第17問

質問

マイグレーションを実行してDBに反映するコマンドは何ですか?

選択肢

A. rails routes
B. rails db:seed
C. rails db:migrate
D. rails s

答え

C. rails db:migrate

解説

このコマンドで、未実行のマイグレーションをDBに適用します。

次の問題

第18問へ

第18問

質問

Post < ApplicationRecordPost はMVCのどれですか?

選択肢

A. ビュー
B. コントローラ
C. モデル
D. ルート

答え

C. モデル

解説

ApplicationRecord を継承しているクラスは基本的にモデルです。テーブルと対応してデータを扱います。

次の問題

第19問へ

第19問

質問

app/views/posts/index.html.erbindex は何に対応していますか?

選択肢

A. テーブル名
B. HTTPメソッド
C. コントローラのアクション名
D. Gem名

答え

C. コントローラのアクション名

解説

通常は PostsControllerindex アクションに対応します。Railsはこの命名規則でビューを探します。

次の問題

第20問へ

第20問

質問

render :new は何をするメソッドですか?

選択肢

A. new を保存する
B. new テンプレートを表示する
C. URLを /new に変える
D. DBを初期化する

答え

B. new テンプレートを表示する

解説

render はその場でビューを描画します。URLを変えずに画面だけ出したいときに使います。

次の問題

第21問へ

第21問

質問

redirect_to @post は主に何をしますか?

答え

別のURL・ページへ移動する

解説

redirect_to はブラウザに別URLへ行ってくださいと伝えるメソッドです。保存そのものは saveupdate が行います。

次の問題

第22問へ

第22問

質問

before_action はどんなときに使いますか?

答え

アクション実行前に共通処理を入れたいとき

解説

ログインチェックや共通データの読み込みなど、「本処理の前に必ずやること」をまとめられます。

次の問題

第23問へ

第23問

質問

belongs_to :user はどんな関係を表しますか?

答え

このモデルが1つの user に属する関係

解説

たとえば Post belongs_to :user なら、1つの投稿には持ち主のユーザーが1人いる、という意味です。

次の問題

第24問へ

第24問

質問

has_many :posts はどんな関係を表しますか?

答え

このモデルが複数の posts を持つ関係

解説

User has_many :posts なら、1人のユーザーが複数の投稿を持てる、という意味になります。

次の問題

第25問へ

第25問

質問

params.require(:post).permit(:title, :body) の仕組みを何と呼びますか?

答え

ストロングパラメータ

解説

受け取ってよい項目だけを許可する仕組みです。安全にデータを扱うために重要です。

次の問題

第26問へ

第26問

質問

ストロングパラメータを使う主な目的は何ですか?

答え

受け取る値を制限して安全に扱うため

解説

フォームから送られた不要な値や危険な値をそのまま保存しないために使います。

次の問題

第27問へ

第27問

質問

rails routes コマンドで確認できるものは何ですか?

答え

ルーティングの一覧

解説

URL、HTTPメソッド、ルート名、対応アクションなどをまとめて確認できます。

次の問題

第28問へ

第28問

質問

new.html.erb の主な役割は何ですか?

答え

新規作成フォームを表示する

解説

新しいデータを入力する画面です。実際の保存は create が担当します。

次の問題

第29問へ

第29問

質問

show.html.erb の主な役割は何ですか?

答え

1件の詳細を表示する

解説

対象データ1件の中身を表示するビューです。

次の問題

第30問へ

第30問

質問

edit.html.erb の主な役割は何ですか?

答え

編集フォームを表示する

解説

すでにあるデータの内容を修正するための画面です。

次の問題

第31問へ

第31問

質問

app/views/layouts/application.html.erb のような共通の外枠を何と呼びますか?

答え

レイアウト

解説

全ページ共通のヘッダー、フッター、<html> などをまとめるための外枠です。

次の問題

第32問へ

第32問

質問

レイアウトの中で、各ビューの中身が差し込まれる場所を示す記述は何ですか?

答え

yield

解説

yield の位置に、各アクションに対応するビューが差し込まれます。

次の問題

第33問へ

第33問

質問

form_with model: @post は主に何を作るために使いますか?

答え

フォーム

解説

form_with は入力フォームを作るヘルパーです。モデルと連携すると新規・編集の両方に対応しやすいです。

次の問題

第34問へ

第34問

質問

モデルで「titleが空ではダメ」のようなチェックをする仕組みを何と呼びますか?

答え

バリデーション

解説

保存前にデータが正しいか確認する仕組みです。空欄禁止や文字数制限などを設定できます。

次の問題

第35問へ

第35問

質問

validates :title, presence: true は何をしているコードですか?

答え

title が空でないかを検証している

解説

presence: true は「値が入っていること」をチェックします。空なら保存失敗になります。

次の問題

第36問へ

第36問

質問

Railsで部分テンプレートとして再利用する部品を何と呼びますか?

答え

パーシャル

解説

共通表示を小さな部品に分けて、何度も再利用できる仕組みです。

次の問題

第37問へ

第37問

質問

パーシャルを表示するときによく使うメソッドは何ですか?

答え

render

解説

パーシャルも render で読み込みます。たとえば render 'form' のように使います。

次の問題

第38問へ

第38問

質問

resources :posts, only: [:index, :show]only は何をするオプションですか?

答え

指定したアクションだけルートを作る

解説

必要なルートだけ作るので、不要なルートを減らせます。

次の問題

第39問へ

第39問

質問

resources :posts, except: [:destroy]except は何をするオプションですか?

答え

指定したアクションを除外してルートを作る

解説

一部だけ不要なときに便利です。only とセットでよく出ます。

次の問題

第40問へ

第40問

質問

複数形ではなく1件だけのリソースを扱うときに使うルーティングメソッドは何ですか?

答え

resource

解説

プロフィールのように1ユーザー1件を想定するなら resource を使います。

次の問題

第41問へ

第41問

質問

RESTfulな基本7アクションをすべて言ってください。

答え

index, show, new, create, edit, update, destroy

解説

Railsの基本設計を理解するうえで最重要のセットです。画面表示系と保存処理系を分けて覚えると定着しやすいです。

次の問題

第42問へ

第42問

質問

GET /posts は通常どのアクションに対応しますか?

答え

index

解説

一覧表示なので index です。

次の問題

第43問へ

第43問

質問

GET /posts/1 は通常どのアクションに対応しますか?

答え

show

解説

1件詳細なので show です。

次の問題

第44問へ

第44問

質問

GET /posts/new は通常どのアクションに対応しますか?

答え

new

解説

新規作成画面なので new です。

次の問題

第45問へ

第45問

質問

GET /posts/1/edit は通常どのアクションに対応しますか?

答え

edit

解説

編集画面なので edit です。

次の問題

第46問へ

第46問

質問

POST /posts は通常どのアクションに対応しますか?

答え

create

解説

新規保存なので create です。

次の問題

第47問へ

第47問

質問

PATCH /posts/1 は通常どのアクションに対応しますか?

答え

update

解説

既存データの更新なので update です。

次の問題

第48問へ

第48問

質問

DELETE /posts/1 は通常どのアクションに対応しますか?

答え

destroy

解説

削除処理なので destroy です。

次の問題

第49問へ

第49問

質問

Railsでテーブル名は複数形、モデル名は単数形にするという考え方を、posts と対応するモデル名で答えてください。

答え

Post

解説

Railsは命名規則で自動対応する場面が多いので、複数形テーブル・単数形モデルはかなり大事です。

次の問題

第50問へ

第50問

質問

RailsでMVCを一言で言うと、それぞれ何を担当する仕組みですか?

答え

Model はデータ、View は画面、Controller は受け取りと橋渡し

解説

Railsの理解はまずこの3役を分けて考えるところから始まります。

次の問題

ここで終了です。おつかれさまでした。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?