belongs_to有多个模型

时间:2010-06-15 02:33:04

标签: ruby-on-rails

我是Rails noob并且有一个问题。我有一个由这个一般概念组织的feed聚合器:

饲料类别(书籍,电子产品等) 饲料场部分(主页,书籍页等) 饲料(饲料本身) Feed Entry

所以:

class Category < ActiveRecord::Base
  has_many :feeds
  has_many :feed_entries, :through => :feeds, :limit => 5
  validates_presence_of :name
  attr_accessible :name, :id
end

class Section < ActiveRecord::Base
  has_many :feeds
  has_many :feed_entries, :through => :feeds, :limit => 5
  attr_accessible :name, :id
end

class Feed < ActiveRecord::Base
  belongs_to :categories
  belongs_to :sections
  has_many :feed_entries
  validates_presence_of :name, :feed_url
  attr_accessible :name, :feed_url, :category_id, :section_id
end

class FeedEntry < ActiveRecord::Base
  belongs_to :feed
  belongs_to :category
  belongs_to :section
  validates_presence_of :title, :url
end

有意义吗?现在,在我的索引页面中,我想基本上说...如果你在分类书籍中,在主页部分,给我按Feed分组的提要条目...

在我的控制器中:

def index
    @section = Section.find_by_name("Home Page")
    @books = Category.find_by_name("Books")
end

在我看来:

<%= render :partial => 'feed_list',
           :locals => {:feed_group => @books.feeds} 
-%>

这部分将为@books的Feeds集合中的每个feed条目吐出标记。现在我需要做的是以某种方式将@books与@section ...

结合起来

我试过了:

<%= render :partial => 'feed_list',
           :locals => {:feed_group => @books.feeds(:section_id => @section.id)} 
-%>

但它不受限制ID。我已在控制台中使用相同的代码确认了部分ID ...

有意义吗?有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

:locals => {:feed_group => @books.feeds.all(:conditions => {:section_id => @section.id})}