Rubyがミニツク

あなたのRubyの技術に関するより詳しい知識と理解を増やします。

Ruby on Rails入門コース

このコースについて

Ruby on Railsとは、Rubyによって作成されたWebアプリケーションフレームワークです。このコースでは、Ruby on RailsでWebアプリケーションを作成する際に必要となる基本的な知識を得ることを目的としています。Ruby on Railsのバージョンは2.3.8を想定しています。

コンテンツ一覧

ヒント レッスンの名前をクリックすると、その内容を表示します。

コース一覧に戻る ホームへ戻る

Ruby on Railsの設計

コンテンツ概要

Ruby on Railsの設計についての問題集です。Ruby on Railsは、MVC(Model-View-Controller)アーキテクチャ、Active Recordパターン、RESTなどの様々な技術に基づいて設計されています。この問題集では、それらのRailsを構成している技術について学習します。

このドリルは10問の問題があります。


はじめる

問題

以下のコードによって、CommentsControllerという名前のコントローラにindexアクションが定義されています。

  class CommentsController < ActionController::Base
    def index
      respond_to do |format|
        format.rss
      end
    end
  end

以下のコードの(A)に入れることで、CommentsControllerのindexアクションへ正常にアクセスできる選択肢を選択してください。

redirect_to (A)

選択肢を選ぶ

(d) comment_path(1)

(b) formatted_comment_path(1)

(a) formatted_comments_path(:rss)

(c) comments_path(:rss)


次の問題へ進む

問題

Railsの規約に従ったREST的なWebサービスが「http://books.example.com」というURIで提供されているとします。次のプログラムは、このWebサービスのリソースをRailsアプリケーション内で通常のモデルと同じように扱っています。(A)に入る正しい選択肢を選んでください。

class Book < (A)
  self.site = 'http://books.example.com'
end

# Use case
books = Book.find(:all)
Book.create(:title => "foo", :price => 450)

選択肢を選ぶ

(a) ActiveResource::Base

(d) ActionController::Base

(b) ActiveRecord::Base

(c) RestModel::Base


次の問題へ進む

問題

REST的なWebサービスにおいて、リソースに対するCRUD(Create, Read, Update, Delete)操作のうち、Updateに対応するHTTPメソッドとして正しいものを以下の選択肢の中から選択してください。

選択肢を選ぶ

(a) POST

(b) UPDATE

(c) PUT

(d) EDIT


次の問題へ進む

問題

RAILS_ROOT/app/controllers/variables/variable_controller.rbのコントローラで以下のようなコードが定義されています。

class VariablesController < ApplicationController
  FOO = "contants"

  def index
    foo   = "local"
    @foo  = "instance"
    @@foo = "class"
  end
end

以下のRAILS_ROOT/app/views/variables/index.html.erbのコードに選択肢の中から(A)に入れて、サーバを起動して表示した際にエラーが発生しないものはどれでしょうか。

(A)

選択肢を選ぶ

(c) @@foo

(a) foo

(b) @foo

(d) FOO


次の問題へ進む

問題

config/routes.rbのルーティングを以下のように設定しました。

map.resources :articles

createアクションへアクセスするのに正しいパスとHTTPメソッドの組み合わせを以下の選択肢の中から選択してください。

選択肢を選ぶ

(c) http://localhost:3000/articles, POST

(b) http://localhost:3000/articles, GET

(a) http://localhost:3000/articles/1, GET

(d) http://localhost:3000/articles/1, PUT


次の問題へ進む

問題

RailsのO/Rマッピング(ORM)の機能を提供するデフォルトのコンポーネントとして正しいものを以下の選択肢から選んでください。

選択肢を選ぶ

(a) Action Controller

(b) Active Record

(c) Action Mailer

(d) Action View


次の問題へ進む

問題

RailsはMVC(Model-View-Controller)アーキテクチャにおけるM(Model)の機能を提供するデフォルトのコンポーネントとしてActive Recordを使用しています。Active Recordがモデルのクラスと対応付けるデータベースのテーブルは幾つでしょうか。

選択肢を選ぶ

(b) 2

(a) 1

(c) 3

(d) 4


次の問題へ進む

問題

MVC(Model-View-Controller)アーキテクチャのViewとControllerの役割を担うRailsのコンポーネントとして正しいものを以下の選択肢から選んでください。

選択肢を選ぶ

(d) Active Resource

(c) Active Support

(a) Action Pack

(b) Active Record


次の問題へ進む

問題

以下のコードによって、RailsのアプリケーションにActiveRecord::Baseを継承したGuestという名前のモデルのクラスが定義されています。

class Guest < ActiveRecord::Base
end

この時、Guestクラスに対応付けられるテーブルの名前として正しいものを、以下の選択肢の中から選択してください。

選択肢を選ぶ

(d) GUESTS

(c) Guest

(a) guests

(b) guest


次の問題へ進む


コース一覧に戻る ホームへ戻る