Ruby on Rails

Capstranoに挑戦する(2)

続き Capistranoをインストール $ sudo gem install capistrano チェックアウトしたRailsアプリのフォルダで $ capify . すると、なんかファイルが作られる config/deploy.rb を編集すればいいらしい # リポジトリの場所 set :repository, "file:///home/{us…

Capstranoに挑戦する(1)

Capistranoを使ってRailsアプリをデプロイする Subversionのリポジトリへコミット済みの最新の環境をApache2 + passengerの本番環境にデプロイする。環境がないので全部ローカルで。 サーバはUbuntu9.04。 今回はCapistranoでのデプロイを行う前準備まで SSH…

ちょっとしたSNSもどきをつくってみた(2)

SNSを作るつづき will_paginateプラグインをインストール。まえと同じなので省略。 プロフィール profilesテーブルとusersテーブルを1対1で結びつける nameはusersテーブルのを使おう(というか、サインアップ時に入れるようにすればいいのになぜかプラグイ…

ちょっとしたSNSもどきをつくってみた(1)

SNSもどきを作る ログイン機能は必須だろう。restful_authenticationプラグインがデファクトスタンダードらしい。メールを使ってサインアップもできたりするらしいけど、ちょっとソースを追っかけるレベルでないので後回し (http://d.hatena.ne.jp/tsimo/20…

簡単な掲示板をつくってみた(1)

掲示板を作る コンセプトとしては、簡単なものをとりあえず完成まで持っていく。デザインはあんまり気にしないでやろう $ rails railsboard $ cd railsboard $ cript/generate scaffold post name:string text:text $ rake db:migrate $ script/server まず…

簡単な掲示板をつくってみた(2)

昨日のつづき 検証 便利な検証機能をつかう。仕様としてはこんな感じ 名前(name) 空を許可しない 2文字以上 30文字まで タイトル(title) 空を許可しない 60文字まで テキスト 空を許可する 500文字まで class Post < ActiveRecord::Base # 検証 validates_ac…

Rails Wayを読む(10)

高度なActiveRecord コールバック 14このコールバックが用意されています 基本はbefore/affterなんちゃら。特殊なのとしてafter_initializeとafter_findがあります レコードの登録の流れは以下のような感じになります before_validation 検証の前に呼び出さ…

*Rails Wayを読む(9)

ActiveRecordの検証 ここはリファレンス的な内容。validates_onなんちゃら系のメソッドの説明です。これのチートシート、だれか作ってくれていないんでしょうか。。 rails.vimを使うと、"vl(" => "validates_length_of"とかになっていい感じです。onとかofと…

Rails Wayを読む(8)

7. ActiveRecordのアソシエーション アソシエーションの種類とそのオプションについて(ポリモーフィックについては後回し) belongs_to オプションとして、こんなのが使えます。 :class_name 規約に沿ってる分には不要 :foreign_key 規約に沿ってる分には不…

Rails Wayを読む(7)

昨日の続き。findメソッドのオプションについて :conditions select文のwhere句。いくつかの設定方法がある "hoge='#{hoge}'" ["hoge=?, hoge] {:hoge => hoge} (複数の場合、ANDで結合) ["hoge=:hoge", {:hoge => 'hoge'}] 1はサニタイズを行わないので、気…

Rails Wayを読む(6)

なんとなく、自分ルールで一日1章ペースになっているんだけど、結構つらいです。まぁ、継続は力なりってことで。だんだん理解する早さもあがっていくことでしょう。 6. ActiveRecordの操作 # hoges テーブルにマッピングされる class Hoge < ActiveRecord::…

Rails Wayを読む(5)

5. Railsルーティングのリフレクション ここでいう「リフレクション」とは、「調査、テスト、トラブルシューティング」のことです。 script/consoleから以下のコードを実行すると、ルーティングの一覧を確認できます。 # $ script/console rs = ActionzContr…

Rails Wayを読む(3)

3. ルーティング Railsのルーティングシステムは、受信したリクエストから、「どのコントローラでどのアクションを実行するか」を決定するシステムです。 とにかく実践あるのみ。ルーティングルールは、config/route.rbに書いていきます。 ActionController:…

Rails Wayを読む(4)

4. REST、リソース、Rais RailsがRESTをサポートしたことにより、アクション名の標準化がなされました。これにより、規約に則って開発してる分にはすごく楽チンだよ、ということみたいです。 標準のアクションとして、(index、create、show、update、destroy…

Rails Wayを読む(2)

2. コントローラの操作 アプリケーションの心臓部です Dispatcher.dispatchから適切なコントローラおよびアクションを判断し、実行します [script/console]から、下のようなことができるんですね ENV['REQUEST_URI'] = '/demo/index' ENV['REQUEST_METHOD'] …

Rails Wayを読む(1)

昔、「Rails Way」って本を買ったんですが、よくわかんなくて頓挫しておりました。 最近、仕事でRailsに手を出し始めました。やっぱり実際に使ってみないとわからんですよね。「今だったら理解できるかも!」と思い、件の本を引っ張り出してきた次第です。 1…