Я использовал драпировку с некоторым успехом. Но в настоящее время я застрял.Draper Gem, что приводит к ошибке метода Undefined
У меня есть две модели:
# Foo.rb
class Foo < ActiveRecord::Base
has_many :bars
# Bar.rb
class Bar < ActiveRecord::Base
belongs_to :foo
def self.number_banned
where(:status => "banned").count
end
Если класс загружается нормально, это работает, как ожидалось:
f = Foo.find(1)
f.bars.number_banned # ex. 3
Если я использую Draper для украшения объектов, он возвращает неопределенное «number_banned "метод:
f = Foo.find(1).decorate
f.bars.number_banned # Undefined method 'number_banned'
отметить:
- Оба Декораторы включают опцию delegate_all
- FooDecorator decorates_association: бары
Любые идеи, что я делаю неправильно?
Можете ли вы показать нам код декораторов и полный стек ошибок, пожалуйста? – dgilperez
Разве ваша вторая модель не должна быть 'class Bar
pdoherty926
@ pdoherty926. Ты прав. Я обновил выше – Herm