2015-01-01から1ヶ月間の記事一覧

23. locale の積極的な利用

前書き app/views/layout/application.html.haml を見返してみると、ページタイトル部に以下の記述を見つけた。 %title= content_for?(:title) ? yield(:title) : “webcit3” 調べてみるとテープレート内に :title というコンテンツがあれば、それを yield し…

22. Turnip による受入テスト(4)

リンクの修正 コントローラのテストが終了したので、再度受入テストを確認してみる。Guard でリターンを押すと以下のようなエラーになっている。これは年度を変更するリンクが作成されていないためである。 Failure/Error: ならば "[平成27年度]"と表示され…

21. Turnip による受入テスト(3)と SimpleForm の設定

SimpleForm のインストール 旧システムで最もトラブっていたのは、ダブルクリックによるデータ二重化問題であった。検索していたところ、http://qiita.com/kakipo/items/d3fb5595ccfa7250f3eb というページを見つけた。旧システムでは form もリンク形式で表…

20. Year モデルの和暦表示

前書き 旧システム作成時には view から controller のメソッド呼び出しを知らなかったので、ページ呼び出し時にセッションに関わる情報を一括してインスタンス変数に代入していた。このページもそれを踏襲して、現在の年度を @now_year に代入するという手…

19. ページ権限の作成

シナリオの記述 ページの権限管理ができていないので、この部分を実装する。以前は、ページごとに before_action で制御していたが、view の定義と一致しない問題が見受けられた。新システムでは権限を管理するメソッドを定義することにする。まず、定義の前…

18. ページデザインの雛形作成

まえがき ここで記載しているものとは別の Rails 4 アプリを二つ抱えてしまったので、こちらはお休みしていた。せっかくなので、そちらでは Rails 4 の新しい機能をいろいろと試してみたので、こちらにフィードバックしています。ネタは 2 週間分くらい抱え…

17. admin 権限の設定

前回までにデザインのないテストは受入テストで実施できたが、実際のデザインはブラウザで確認する必要がある。しかしながら LDAP 接続できない場所では、ブラウザで確認することはできない。そこで、他のユーザになりすませるローカルログインする admin で…

16. turnip による受入テスト(2)

途中になってしまったので、受入テストの続きを行う。デザインに関しては後で設定することとして、とりあえず動く実装を作る。まず、app/views/teacher/kyoumus/index.html に年度変更のリンクを設置する。 %h2 年度に関する情報 %table %tr %th リンク %th …

15. turnip による受入テスト(1)

以前、受入テストは RSpec とは別に Cucumber というアプリケーションを使っていた。最近は、Turnip と Capybara を用いて、RSpec 内で実施できる受入テストが使われている。今回は、年度に関するテストで受入テストを実施してみる。 turnip の設定 すでに G…

14. admin ユーザの作成

さまざまな権限の元で開発ができるように、すべての権限に化けられる SuperUser アカウントである admin を作成する。このアカウントは LDAP アクセスできない環境でも作業できるようにローカルアカウントとする。ただし、Devise 1.1.2 の頃と属性データの互…

13. Ruby 2.2.0 へのアップデート

Ruby 2.2.0 のインストール 12 月 25 日に Ruby 2.2.0 がリリースされた。Rails 使いとしては、シンボルのガベージコレクタが入ったことがかなり大きそうだ。また、新しいインクリメンタル GC のおかげで速度低下も減りそうだとのこと。せっかくなので、早速…

12. 既存データの読み込みと認証の続き

現在のシステムでも、開発環境のデータは運用環境のデータを流用している。これは、運用会社がサポートをするにあたって、ユーザと同じ環境にないと確認ができないためである。ただし、学内の機密データに関するものは、個人情報をマスキングしたり、データ…

11. Devise の設定(1)

devise のインストール develop から configure_devise というブランチを切って作業する。以下、このブランチでの作業。まず、Gemfile を設定した。 # a flexible authentication solution for Rails based on Warden gem 'devise', '~> 3.4.1' bundle insta…