アプリケーションの設定をデータベースで管理する

2015/11/18

問題01

Ruby on Rails で開発された顧客管理アプリケーション Baukis に関して、以下の仕様変更を行ってください。

  1. 管理者向けページから、アプリケーション名を変更できる。設定変更により、管理者・職員・顧客向けの各ページのヘッダに表示されるアプリケーション名(初期状態では「Baukis」)が変化する。アプリケーション名は「1文字以上16文字以下」でなければならない。
  2. 管理者向けページから、セッションタイムアウトまでの時間(分単位)の設定を変更できる。この設定変更を、管理者および職員向けサイトに適用させる。セッションタイムアウトまでの時間にセットできる値は、0 以上の整数値である。管理者がセッションタイムアウトの入力欄を 0 にした場合は、永遠にセッションタイムアウトが起こらないものとする。

締め切り: 2015年12月3日 午前10時(日本時間)

このページは「Rails 演習問題」という連載の一部です。読者の方から答えを募り、あとで筆者が解説を追記します。詳しくは、はじめにをお読みください。

仕様の説明

以下、仕様変更後の Baukis の動きを画面キャプチャを用いて説明します。

初期状態で管理者として Baukis にログインすると、次のような画面になります。

画面キャプチャ

「アプリケーション設定」リンクをクリックすると、フォームが現れるのでアプリケーション名を「FooBar」、セッションタイムアウトを「120」に変更します。

画面キャプチャ

「更新」ボタンをクリックすると、次のようにフラッシュメッセージが表示されます。ヘッダ部分のアプリケーション名が「FooBar」に変化しています。

画面キャプチャ

続いて、職員として Baukis のトップページを開くと、次のような画面になります。

画面キャプチャ

顧客として Baukis のトップページを開くと、次のような画面になります。

画面キャプチャ

留意事項

  • システム上で設定内容をどのように記録・保持するかは、読者の皆様にお任せします。
  • Gemfile に新たな Gem パッケージを追加しないでください。
  • 可能であれば RSpec によるテストを書いてください。

解答と解説

問題01の解答と解説をご覧ください。