Скажем, у меня есть 2 контроллера.
рекламодатель_кампания и рекламодатель_объявление.
Мне нужно, чтобы рекламодатель_ad был дочерним элементом рекламодателя_кампании, но, поскольку я новичок в активном администраторе (и в самом рубине), у меня возникают некоторые проблемы. Я пытаюсь сделать вложенный ресурс с помощью ActiveAdmin.
Код ниже действительно регистрирует необходимые маршруты
ActiveAdmin.register Advertiser::Ad do
belongs_to :advertiser_campaign
end
НО, когда я пытаюсь получить доступ к /admin/advertiser_campaigns/1/advertiser_ads, я получаю сообщение об ошибке
NoMethodError in Admin::AdvertiserAdsController#index
undefined method `find' for nil:NilClass
Что, вероятно, означает, что маршруты работают достаточно хорошо, и проблема где-то в контроллере. Я попытался перезаписать контроллер ActiveAdmin, сделав что-то вроде этого
controller do
def index
index! do |format|
@advertiser_ads = Advertiser::Ad.all
format.html
end
end
end
Но абсолютно никакого эффекта. Хотя я вижу, что контроллер пытается выполнить мой перезаписанный контроллер, но сталкивается с той же ошибкой.
В моей модели adsr_campaign у меня есть
has_many :advertiser_ads, :class_name => 'Advertiser::Ad'
и в моей модели adsr_ad
belongs_to :advertiser_campaign, :class_name => 'Advertiser::Campaign'
Любая помощь по этому вопросу будет высоко оценена. Заранее спасибо.