Categories
open all | close allTags
パソコン | フォーム | ドキュメント | RESTful | rubygems | スキンエンジン | 認証 | 名称 | CSRF | 国際化 | Subversion | Migration | カテゴリ | rake | Flash | テスト | デュアル・コア | タグ | JustPosted | AptanaSearch
ブログとアイテムのリレーション
テストはまだなんだかうまくいかないところもありますが,RadRailsからのコンソールの使い方がやっと分かったので,そちらでテスト。一応リレーションの設定は動いているようです。アイテムとブログの場合はアイテムがブログにbelongs_to,ブログから見るとアイテムをhas_manyするという関係なので,以下のようにしました。
class Item < ActiveRecord::Base
set_primary_key :inumber
set_base_name :item
belongs_to :blog, :foreign_key => 'iblog'
end
class Blog < ActiveRecord::Base
set_primary_key :bnumber
set_base_name :blog
has_many :items, :class_name=>'Item' ,:foreign_key => 'iblog'
end両方にiblogを書くのがなんだか解せない感じもしますが,一応動いているのでいいことにしておきます。これで例えばブログからだったら
blog = Blog.find(1)
とか
blog = Blog.find(:first, :conditions=>"bshortname = 'test'")
でブログ・オブジェクトを獲得した後
blog.items
で,アイテムの配列が得られます。
逆にアイテムからだったら
item.blog
でブログ・オブジェクトにアクセスできます。
モデルに関してはこれで他のテーブルのモデル作成とリレーションを設定していけばいいはず。
追記
blog = Blog.find_by_bshortname("test")
でもブログ・オブジェクトが獲得できるはずです。
Comments
No comments yet. You can be the first!