RSS

RailsでWikiを書く

チュートリアルだけでは覚えられるわけがないので実用的なアプリということでWikiを作ることにする。

ふーん、またWikiですか、なんて馬鹿にするなよ。僕はWikiがはやりだしたころにRubyでAsWikiというWikiEngineを書いている。それをRailsに移植しようという話だ。

あのときはRDBMSを使いたくなかったのでいろいろと苦労したところもあった。エスケープに気を使ったり履歴管理にRCSを使ったり。そのあたりは一気に解消する。あとセッションの管理がまともにできてないのでとんでもない仕様になっているところもある。ここもきっとなんとかなるんだろう。キャッシュのところも無理しているし。きっとなんとかなるでしょう。

で、始めたわけですが。いきなりmigration2をインストールする。昔からRailsのORMの扱いは逆方向を向いていると思っていて、migrationができて多少はましになったのかと思ったが、気違い仕様であった。migration2になってやっとまともな方向を向いてきた。SQLObjectもdjangoもこんな変な方向向いてないんだが…。Railsが嫌いなわけではないが、Rails最高とか言う前にもうちょっと世の中見てみろ。あきらかにおかしい。ちなみにインストールはpluginのインストールになるので以下のように。
% ./script/plugin install http://wota.jp/svn/rails/plugins/branches/stable/migration2/

あとはmodelを作って、controllerを作っていきますか。詳しい実装はそのうち考えよう。履歴管理を入れると面倒なところもあるけど…。

メモ

control/routes.rbを使ってURL mappingを行うわけですか。無茶苦茶柔軟性はあるわけではないが、普通に使う分には十分でしょう。

unittestがfixturesから初期データを投入するのに気がつかず謎の挙動と思ってしまった。なんでデフォルトで放り込む設定になっているんだ? わかりにくいバグになった…。