Я нуб Rails и у меня есть вопрос. У меня есть агрегатор каналов, который организован по этой общей концепции:
Категория корма (книги, электроника и т. Д.)
Раздел сайта фида (домашняя страница, страница с книгами и т. Д.)
Кормить (сам корм)
Feed Feed
Итак:
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
Имеет смысл? Теперь, на моей странице указателя, я хочу сказать: если вы находитесь в разделе «Книги категорий» в разделе «Домашняя страница», дайте мне записи фидов, сгруппированные по каналам ...
В моем контроллере:
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. Теперь мне нужно как-то объединить @books с @section ...
Я пробовал это:
<%= render :partial => 'feed_list',
:locals => {:feed_group => @books.feeds(:section_id => @section.id)}
-%>
Но это не ограничивается идентификатором раздела. Я подтвердил идентификатор раздела, используя тот же код в консоли ...
Имеет смысл? Любой совет?
Спасибо!