2011-06-16
■[Rails][diary] 古いエントリをどうするか 
震災以降はいろいろと考える事も多く、結構更新が滞ってました。
さて、このはてダにも古いRailsのエントリが沢山ある訳ですが、それらをどうしようかと思っている所です。
僕自身は昔書いていた記事を読み返す機会はあまりないのですが、ふと思い返してみても、今では到底書かないようなコーディングをしていたりします。
例えば
entry = Entry.find(params[:id]) rescue nil
みたいなのって、最初は他の人に教えてもらい、例外も飛ばなくて便利という事で使っていましたが、普通は例外飛ばしますよね。こういうのはもう何年も前にやめてしまいました。
他には、sessionを使った確認画面の実装とかも基本的にはやめました(必要な時には使います)。
memcachedを利用しても、session使うコストが高いので。
params使って持ち回してます。
routesをそのまま使う為に、confirmアクションやウィザードそれぞれにアクションを設けたりはしなくなりました。
routesを汚さないやり方には、いろいろあると思いますが、最近、「お、良いな」と思ったのはこちらの方法です。
これを元にして、プラグインにでもすると良いと思います。
2012.1.27追記:
確認画面やウィザードは、routesは普通に(resources :entries とか)書いておいて、確認画面やウィザードの各ステップではparamsやhiddenに入れた値から判断する感じにしています。
各画面間で値を持ち回すのは、最近では上記のようにparamsが多いですが、状況に応じて(あとはお客さんの好みとか方針とか)、sessionも使います。
paramsで行く場合、やり方によっては面倒にもなります(nested_attributesがある場合など)。
昔書いたtwitterもどきの実装も随分古くなっているので、どうにかしたい所ですが、本家のURL設計が随分以前と変わってしまったので、同じように作るのは面倒ですね。
あと、放置してしまって申し訳ないなと思っているのは、Ajaxファイルアップロードのエントリです。一度書き直したのですが、書いている間に一時アップロードファイルへのアクセス方法が変わったので、あららと思っているうちに時間が経ってしまいました。
少しずつ直すなり書き直すなりできれば良いと思います。










