2008-05-25から1日間の記事一覧

デフォルトコントローラの設定

URLにいちいち user を書くのが面倒だなあという気がしてきたし、http://localhost:3000/ でアクセスできるようにしたいところです。 この設定は、config/routes.rb で行います。 もとからある「map.connect '' 〜」のコメントを外し、以下のようにデフォル…

Statusコントローラを書く

Userのindexビューに発言用のフォームを作ったので、これを受理して発言をユーザに追加登録するコントローラを書きましょう。まず、コントローラのひな形をgenerateします。 % script/generate controller statusそして、app/controllers/status_controller.…

flashを表示できるようにする

AdobeなFlashではなくて、ページをリダイレクトしたときにメッセージを伝達する仕組みがflash。 この辺が詳しい。 実は既に flash[:notice] = "You're logged in" とかいった設定がaccountコントローラ内で自動生成されています。 これを表示するようにして…

ユーザ情報のビューを作成

app/views/index.rhtml を編集し、次のようにします。ログインした状態で http://localhost:3000/user/ を見ながら、どんどん書いていきます。発言内容のフォームもまだ機能しませんが、書きます。 <div id="left"> <% if current_user == @user %> <div id="update_status"> <p><% form_for :status, </p></div></div>…

全体レイアウトを作る

先ほど生成されたビューを見てみると、本当にユーザ名しか書かれておらず、〜などの基本的な構造すら入っていないのが分かります。しかし、これからビューを増やしていくことを考えると、いちいち全てのビューに同じことを書いていくのは大変です。そこで、R…

Userコントローラの作成

まずは、ログイン時の謎のポエムをなんとかしましょう。 Userコントローラの自動生成 ユーザの情報を表示するためのコントローラとして、userコントローラというのを作ることにします(userモデルと名前を一致させておきます)。例によってscript/generateで…

発言管理用のテーブル&モデルを作成

ユーザ管理テーブルではいきなり変則的なモデルの作り方をしてしまいましたが、次は「普通」に発言を管理するStatusテーブルを作ってみます。まず、次のコマンドを打ち込んでmodelとmigrationのファイルを自動生成します。 % script/generate model status e…

ユーザ認証用のプラグインの導入とテーブルの生成

普通なら、ここでDBにテーブルを作ってしまうか、テーブル生成用のmigrationを書くのでしょうが、今回はユーザ認証のシステムを作る必要があるため、まずはプラグインを入れておきます。restful_authenticationというのがあるらしいのですが、今回Rails自体…

DB設計

まずはDB設計から。といっても簡単に。Railsなら後から変更も楽に違いない(思い込み)。 ┌──────────┐ ┌────────┐ │User │n⇔n│Follow │ │──────────│ │────────│ │名前、パスワード、 │ │user_id │ │プロフィール、設定、│ │ followee_id │ │などなど… │ …

とりあえず基本設定

作業環境はMac OS X 10.5を使います。rubyはもちろん、なんとrails標準インストール済み(ただしver1.2.6)。 というわけで、さっそく作成開始です。まずは、railsの開発環境を生成。 % rails monologue create create app/controllers create app/helpers cre…

Ruby on Railsで延々作るTwitterもどき

Ruby on Railsで10分で作るTwitterもどきに触発されて、Ruby on RailsでTwitterもどきを作ってみることにしました。 が、実はRailsは初。どう考えても10分じゃ無理なので、ゆっくり作っていくことにします。 作成過程はちょっとずつここで書いていく予定。 …