うぅ、、、この部屋は寒い。
後半、久しぶりに技術的な話を。
生物の教官が最強すぎて、12月の半ばで講義終了らしい。なんてこったい。
線形代数の勉強を少し始めた。
図書館から「ゼロから学ぶ線形代数」という本を借りてきた。
とりあえず、ベクトル空間と基底のイメージがなんとなく掴めてうれしかった。斜交座標系なんだと思う。
昨日の英語4の小テストはあまり準備せずに受けてしまった。全文和訳が少し辛い。
あ、明日の物理のレポート完成してないや。
Ruby on Railsでのブログシステムの構築。
ゲーム製作コミュからの預かり物である。
コメントの表示でさえも予想外に苦戦。これでプラグインとかあったら泣くわ。本を買えばすぐ手に入る情報だが…。
Ruby on Rails 2.xの情報が少ないように感じる。Ruby on Rails Proは優良サイトだと思うが。
基礎的な部分まではどこを探しても大体載っている。
gemsを利用したrailsのインストール手順、
10分でできるブログ。rake、migrate、scaffold、script/server。
しかし、これをどうやって拡張すればいいかが分からない。ActiveRecordってなんだ。
よって、適切かどうかは知らないが、実装した部分を公開していきたいと思う。
というか、公開して誰かが突っ込んでくれるのを待とうと思う。誰か、RoRの正しい書き方を教えてほしい。
太ったmodel 痩せたcontrollerリンク先は英語でまだ読む気力が起きてない。
でも、とにかくアプリケーションロジックの大部分をmodelに記述すべきらしい。どうやって?
とりあえず、scaffoldで作ったブログを拡張。コメント機能をつけた。
scaffoldの仕様なのか、ブログのDBにはtitle、bodyのほかに、id、created_at、updated_atが生成されるようだ。
idはauto_increment設定されているので何も考えなくていい。
created_at、updated_atは自動でtimestampが押される。
しかし、デフォルトではviewにはtitleとbodyしか表示されない。なので、ここでcreated_atを表示させようじゃないか。
作ったブログのviewを書き換える。とりあえずshow.html.erbを書き換える。
<%=h @blog.created_at %>
この一行を任意の場所に書き足す。@blogの部分は適宜書き換えて。
これで任意の場所にその記事の作成時間を乗せることができた。
しかし、ここで問題が発生する。
デフォルトでは、UTC(協定世界時)で記録されてしまう。
これを解消するには、configのenvironment.rbを編集する。
その中に config.time_zone = 'UTC' という忌々しい一行がある。
これをコメントアウトしてしまえばこちらの勝ちだ(笑
controllerに Time.zone = 'Tokyo' としてもできたような気がする。
ついでなので、index.html.erbにも
<td><%=h blog.body %></td>
という行の次に
<td><%=h blog.created_at %></td>
と書き加える。
すると、なんとまぁ。時間が表示されるじゃないですか。
まだこの程度しかできなくて涙目www
思ったより長くなったので、コメント機能の話はまた今度。
大変興味深く読ませて頂きましたよ!
こちらが開発中のtwitterは、データベースにpubDateというString型の変数を持たせて、そこに文字列で格納しております。
標準時のことは全く気にする必要がないけど、無駄が多いような・・・。
うちのブログでもtwitter機能について書くべきか。