Time.outでの文字化け回避

例の本(RailsによるアジャイルWebアプリケーション開発)で勉強しているわけですが、
第4章の時刻表示の部分で
<%= 1.hour.from_now %>とか、<%= Time.now %>
で取得した時刻表示が、文字化けしてしまいます。

おおかた、時間の文字列表記に「時」、「分」、「秒」が使われていて、それをWeb上で表示する際に、化けているんだろうなぁと思いました。
ググってみたら、すぐに解決方法が分かりました。

参考URL:http://d.hatena.ne.jp/Kanta/20060405/1144164918

Railsのconfigで設定可能みたい。 /config/environment.rb に
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.update
:default => "%m/%d %H:%M:%S"

を追加。上記の場合時間は「04/04 20:16:23」の形で表示される。

私の場合は、年も表示しておきたかったので、最後の部分を、
default => "%Y/%m/%d %H:%M:%S"
という表記にしてみたらうまいこと表示されました。

なるほど、h()というのはHTMLでエスケープしてサニタイジングするわけだ。
Strutsでいうところの、bean:writeとか、JSTLのc:outやfn:escapeXmlに相当するんだろうけど、短い記述ですむから便利そうです。


Scaffoldとは?

Scaffold

画像の著作権
Title: Castle under wraps
Taken by: Peter Morgan
Username: Mooganic

Railsを勉強中にでてきた、見慣れない単語「Scaffold」とは、なにか分からなかったので用語を調べてみました。
そういえば、Struts in Actionにも同じような単語が出てきていたので、これから頻出する言葉かもしれない。


「はてな」や、辞書で調べると、

土台、骨組み、骨格。
一般的には建築の足場

とありました。他には、バイオ系で細胞なんかを培養するときの土台というか下地みたいな意味もあるようです。(「断頭台」とかいう怖い意味もありました。)

なんだかフレームワークと似たような意味だと感じたのですが、フレームワークの土台の上に作られた骨組みといった感じなのでしょうか。
Railsは、Scaffoldによって、データベースのテーブルの、新規作成、一覧、更新、削除などの一通りの機能(CRUD: Create, Read, Update, Deleteという)を提供してくれます。この機能を骨組みとして、細かい機能を肉付けしてあげることで、システムを作り上げるわけですから、まさに骨組み・土台というわけですね。

建築物を建てるときにも、まずは足場を組むことから始まります。そして足場がしっかりしていないと建築はきちんと作り上げることはできません。。偽装で手抜きされちゃあいけないわけです。
バイオなんかでは、細胞が培養しやすいように、まずは下地となるScaffoldを作ってあげることで、目的となる細胞が培養しやすくなるのでしょう。Scaffoldがないと、培養したい細胞が培養されずに死んじゃったりするんでしょうか。

Webアプリケーションも、RailsでScaffoldを自動作成によって安全・正確つくることで、簡単に安全なシステムが作ることができるといった感じでしょうか。

初めて、クリエイティブコモンズというライセンスの画像を使ってみたのですが、こんな感じでいいのかな。


Railsのインストールと、サンプルアプリケーション

RailsによるアジャイルWebアプリケーション開発
Ruby on Railsについて
詳しく書いてある書籍です
「RailsによるアジャイルWebアプリケーション開発」の勉強しようと思っていたのに、情報処理試験やら仕事の忙しさで放置プレイ状態だったのですが、ようやく時間が出てきたので、まずはとっかかりのインストールとサンプルアプリケーションを作ってみました。
といってもまだ書籍は概要部分しか読んでいません。まずはWebから情報を探して、環境設定をしようと思います。

いろいろと調べてみると、instantRailsというオールインワン(Apache, MySQL, Rubyなど)の環境があるみたいで、これを使えばすぐに環境が構築できるようです。
また、RadRailsというEclipseベースの統合開発環境を使えば、IDEを使っての開発もできるようです。

私は結城さんの記事を参考に、1つ1つRuby,MySQL, Railsをインストールしました。(手順が書いてあるので難しくはないです)
もう少し開発に慣れたら、RadRailsを使って開発したいと思いますが、今は純粋にRailsの中身を知りたいので、最もシンプルな環境を選択しました。
instantRailsは簡単すぎて実行環境を構築するときに、ちっとも分からなくなるかと考え、現段階では使いませんでした。

Ruby on Railsのインストールと、ブックマークアプリケーションの作成を試してみました。5分でインストールを行い、10分でサンプルアプリケーションを作るというムービー付きなので、意味はわからないながらも迷わず作ることができました。これからもっと本格的に学んでいきます。

ちなみに結城さんの記事では、

実は先日一回トライしたのですけれど、最後の最後でエラーが出て放置していたのでした。調べてみると「クライアントをアップグレードしなさい」というエラーになっていました。もう一度上のflashを見直すと、MySQL Serverのバージョンが4になっているのに、私がインストールしたのはMySQLの5でした。

とありますが、私はMySQL5でインストールしましたが、別にエラーは起きず正常にブックマークアプリケーションを動作させることができました。