toytter-2.0

吉見和也(Kazuya Yoshimi) 2008-02-05 17:36:16

そろそろrails2.0でなんか作ってみたいよね、ってことでtoytter2.0でも作ってみます。10分?【なんですか?】【わかりません】


$ rails toytter -d mysql

なぜか今のrailsはsqliteがデフォルトのDBになっているので、-dオプションでmysqlを指定。


$ cd toytter

$ rake db:create

新しく追加されたrakeタスクで簡単DB作成。ほんと便利な世の中です。

まぁ、ここまでは良いんだけど、acts_as_authenticated動くのかなぁ。ソース的には問題なさそうな気もするけど。。。


$ ./script/plugin install acts_as_authenticated

+ ./CHANGELOG

+ ./README

(略)

$ ./script/generate authenticated user account

      exists  app/models/

      exists  app/controllers/

(略)

できた。

一番心配してたところができたのでがんがん行く


$ ./script/generate model Friendship

$ ./script/generate model Status

$ ./script/generate controller User show

$ rm public/index.html

ここも問題なさげ。こっからはエディタでプログラミング〜

まずはmigrationからでしたね。ここはちょっと変わって、rails2.0だとこんな感じ


  def self.up

    create_table :friendships do |t|

      t.integer :user_id

      t.integer :friend_id

      t.timestamps

    end

  end

  def self.up

    create_table :statuses do |t|

      t.integer :user_id

      t.string :desc

      t.timestamps

    end

  end

タイプ数はちょっと減ったかなw

t.timestanpsってのはcreated_at,updated_atを自動でつけてくれる。これ書くの面倒だったから、微妙にうれしい。

で、routes.rbを編集して


  map.connect "", :controller => "user", :action => "home"

  map.connect ":user", :controller => "user", :action => "show"

account_controller.rbの冒頭あたりの数行をapplication.rbに移したり、model書いたり。ここらへんは全て以前のコピペ。created_onになっていた部分は全部created_atに変更。以前のソースはコチラにあります。

statusesテーブルのcreated_onとcreated_atの違いでちょっとだけ問題がおこりましたが、user_controllerの12行目を次の様に修正


:order => "created_at desc",

 ↓

:order => "statuses.created_at desc",

これでrake db:migrateして、./script/serverしてちゃんと動きました。まぁ、大して複雑なことやってるわけじゃないので、これが動かなかったら既存アプリの2.0への移行なんて不可能にちかい気がするので当たり前の結果ですかね。

ただ、これじゃあRails2.0使う意味もなさげで誰も納得しないと思うので、次回からは無駄に2.0ならではを使ってtoytterを拡張してみる予定です。

押忍

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。

SpecialPR

  • 「奉行シリーズ」の電話サポート革命!活用事例をご紹介

    「ナビダイヤル」の「トラフィックレポート」を利用したことで着信前のコール数や
    離脱数など、コールセンターのパフォーマンスをリアルタイムに把握するに成功。詳細はこちらから

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!