我正在尝试在我的网站上实现一个朋友系统,刚刚完成了一个关于自引用关联的 railscast (#163) (http://railscasts.com/episodes/163-self-referential-association)。在视频中的某一时刻,他创建了与inverse_friendships
表的新关系,但我从未见过他生成inverse_friendships
模型或迁移。inverse_
这与 Rails 魔法有关还是我错过了什么?
模型/用户.rb
has_many :friendships
has_many :friends, :through => :friendships
has_many :inverse_friendships, :class_name => "Friendship", :foreign_key => "friend_id"
has_many :inverse_friends, :through => :inverse_friendships, :source => :user
另外,他friends
从哪里得到专栏?当他为 生成脚手架时friendship
,他创建了两列user_id:integer friend_id:integer
,但在实际的朋友表上没有任何内容。
生成脚手架
script/generate nifty_scaffold friendship user_id:integer friend_id:integer create destroy
rake db:migrate