Полагаю, я еще не знаю правильной терминологии, поэтому мне трудно найти правильный ответ.
Итак, я создал движок с выставкой и категорией. Я создал третью модель категоризации, чтобы назначить экспонат нескольким категориям. У этого есть только вещественный идентификатор и идентификатор категории.
Что я хочу сделать, так это создать страницу для каждой категории, поэтому я назначаю экспонат для категории новостей, чтобы отображать его на странице «Новости», а для категории «Фотографии» - в «Фотографиях». и т. д. Я предполагаю, что это конфигурация маршрутизации, но я еще не получил ее (однако, пожалуйста, дайте мне знать, если это действительно конфигурация маршрутизации)
Моя проблема в том, как получить поля из разных моделей только с одного контроллера. Что у меня есть:
class Categorization < ActiveRecord::Base
belongs_to :exhibit
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :categorizations
has_many :exhibits, :through => :categorizations
acts_as_indexed :fields => [:title]
validates :title, :presence => true, :uniqueness => true
end
class Exhibit < ActiveRecord::Base
has_many :categorizations
has_many :categories, :through => :categorizations, :source => :category
acts_as_indexed :fields => [:title, :bulb]
validates :title, :presence => true, :uniqueness => true
belongs_to :foto, :class_name => 'Image'
end
Как мне получить :foto
из Exhibit
, который принадлежит :category =>"News"
?
Я попытался добавить scope :news, where(['category_id="1"'])
в Categorization
модель, и я могу получить Categorization.news
, но как мне связать Categorization.exhibit_id
с фотографией этого экспоната (думаю, это Exhibit.foto
)?
Я не знаю с чего начать ...
Спасибо всем ...
Петрос