2007年08月15日

ActiveRecordでJOIN句を用いたカスケードなモデル

ActiveRecordは優秀なので、
@people = Person.find :all, :include => [ :company ]

と書くと、viewで、
<%= person.company.name %>

とすると、personに対応するcompaniesテーブルのnameカラムが取れる。

これは


Class Person < AR:B
belongs_to :company
end


としているからなのだけど、このとき、
:conditions
というのが指定できる。


Class Person < AR:B
belongs_to :company, :conditions => "current = 1"
end


としておけば、currentカラムが1のもの(現職の会社)だけ取り出すことができる。
この条件を動的に、実行時に代入したいのだけども、分からなくて困っている。


Class Person < AR:B
belongs_to :company, :conditions => "retire_date > DATESUB(CURDATE(), '1 YEAR')"
end


とすれば、一年以内に辞めた会社を複数取り出すことができる。
だが、上司の名前 john であった会社を取り出したいとき、


Class Person < AR:B
belongs_to :company, :conditions => "boss_name = 'john'"
end


と書くことができないのだ。いや、この通りならいいのだけど、maryだたり、bobだったり、選びたいのだ。

分かんなくて、はまりすぎ。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 10:00| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年08月08日

Rails近況を眺める

Drecom Award on Rails 2007参加者のブログの状況を見ていると、参加者が増えてきている感じを受ける。
が、しかし、登録されたエントリのほとんどがRailsと関係なかったりするので、ちょっとなーと思ったりする。

Chis4403氏がRailsでできたプロジェクト管理ツール「redMine」の連載を始めたと、同氏が各所で(笑)宣伝しておられてるようです。
RubyとかRailsとかで開発しているソフトウェア会社、情報サービス系会社のプロジェクトによい管理ツールが導入されるのを祈るばかりです。いつまでもExcel, PowerPointに頼ってるよーでは日本の将来は半導体やメーカーと同様の結果しか期待できなくなってしまうと思います。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 22:00| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年08月06日

railroadでプロジェクトの全体像を掴もう!

あるRailsプロジェクトのmodelをrailroadに食べさせてみました。
$ railroad -M -o model.dot
すると、27kBほどのdotファイル(model.dot)が生まれてきました。
model.dotを開いてみると248行でした。
そのうち、ノードが112、エッジが133でした。ちょっとデータ不整合もあるんだけど、だいたい主要な部分のリレーションは網羅している気分になっている。実際はまだこれを使ってみないと分かりませんが。

さらにこのmodel.dotをneatoで処理して、PNGを出力したら、9984x9180pixelsというサイズになっちゃいました。ファイルサイズとしては841kBでした。

ちなみに、controller.dotは6kBで、そのPNG出力は97kBでした。
$ railroad -C -o controller.dot

みなさんのmodel.dotはどれくらいでしょうか?知りたいです。
このプロジェクトは小さくはないと思います。


RailRoad - リバースエンジニアリング
Railroad公式サイト(英語)
posted by N.T.T with Rails 3.2 (ex. 2.1) at 08:00| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年07月28日

Drecom Award on Rails 2007と副業主体の生活

そういえば、エントリーしたような記憶があります。

が、本業がほとんど手付かずなのに、副業1(とりあえずは〜九月頭)と副業2(とりあえずは〜お盆前)と副業3(無期限)と副業4(とりあえずは〜九月半ば)と副業5(とりあえずは〜お盆前)があるのに、
副業1-1(八月末まで)
副業1-2(九月上旬まで)
まで追加されちゃって、死んじゃいそうに忙しかったりします。

夏なのに、夏気分じゃない。夏ってもっと遊ぶシーズンじゃん。

仕事は冬だよね。

というワケで、ドリコムさんとともにRailsをガンバらねばね。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 20:00| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年07月23日

Rails用デザインテンプレートの編集方法

(異なるプロジェクト・チームにいる)複数のデザイナーの方々としゃべったりしていて思ったこと。

これを読んでいるデザイナーの人にもうかがいたいのですが、PerlのHTML::TemplateとかPHPとかERBのテンプレートってどのように編集しているのでしょうか?各種テンプレートエンジンやMVCフレームワーク自体は「デザインが分離できて、デザイナーでもテンプレートを触ることができる」って感じで主張しているのだけども、少なくとも私はそういう現場経験がないので。

海外あるいは国内でも私が関わらないようなプロジェクトだとまた違った方法でやっているのでしょうか?


...と考える日曜のお昼。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 13:00| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年07月21日

rails.elでflymakeが落ちる

Rails on Emacs (rails.el)である特定のファイルを開くと、flymakeが落ちるんだけども、なぜだろう?
ラベル:rails.el flymake ruby Emacs
posted by N.T.T with Rails 3.2 (ex. 2.1) at 12:00| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年07月18日

RailsMyAdmin

RailsMyAdminというのがあるそうだけど、楽しそうです。
来月になったら、実際に使ってみよう、、、。

今はちょっと無理。と言っていて、RailsMyAdminのすごさの感動よりも先に多分秋が来る。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 23:27| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年07月11日

eager loadingの対応

Xxxx Load IDs For Limited Eager Loading (Xxxxはモデル名)をしてくれることがあるけど、その結果が0件だった場合は、Xxxx Load Including Associationsをやって欲しくないなぁー。即座にnilを返して欲しいし、
WHERE句にxxxx.id IN (NULL)ってのを追加してもねぇ...って話で。

SELECT xxxx.id, SUM(yyyy.count) FROM xxxx INNER JOIN yyyy on ... GROUP BY yyyy.count

ってのを書きたいのです、、、。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 02:31| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

NetRatingsのPV重視のランキングは終わった?

Nielsen//NetRatingsがウェブサイト評価にPVを偏重しないと発表していました。

Web 2.0的観点から言えば、PVを稼ぐことができないので、控えられたケースもあっただろうAjaxの利用がさらに促進されていくのではないでしょうか。RJS使ってみたいなー。
posted by N.T.T with Rails 3.2 (ex. 2.1) at 02:31| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする

2007年07月04日

mongrelと体が不調な今日この頃

調子が悪い。

mongrelと体の健康の調子が悪い。

ページを
** USR2 signal received.


とかって言われちゃいます。んー、サーバのPC自体のせいなのでしょうかねぇー?
ラベル:mongrel
posted by N.T.T with Rails 3.2 (ex. 2.1) at 23:49| Comment(0) | TrackBack(0) | Rails | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。