2015-05-20 4 views
0

Я просто хочу создать класс обертки/декоратора, в который я передаю модель, и вернуть класс с форматированными полями вывода.Где создать базовый класс в рельсах?

Где лучшее место для этого?

У меня есть это в папке с образцами, но мое здравое чувство покалывает, чтобы больше смотреть на него.

Конвенция
+0

есть стандартный формат, который будет использоваться совместно несколькими моделями? Когда вы говорите, отформатирован. В каком формате вы имеете дело? – errata

+0

Это действительно для определенной цели. У меня есть модель и у меня есть один конкретный вариант использования для этой модели, в которой используется отформатированный результат. –

+0

где/как будут отображаться данные? В представлении? Какие отличия от стандартной структуры модели? – errata

ответ

3

декораторов будет /app/decorators

Это в основном в случае draper классов

2

вы говорите отформатированы. ИМХО YourModelPresenter хорошее имя (более описательный я думаю, чем Decorator), а затем я бы поставил его в app/presenters

+0

дебаты довольно бесконечны: презентатор против декоратора – apneadiving

+0

Может быть. Я пришел из мира C# и там Presenter скорее используется при форматировании для целей пользовательского интерфейса. – djaszczurowski

+0

@R_O_R К сожалению, у меня его нет. – djaszczurowski

0

В эти дни, лучшие практики я видел, чтобы создать каталог под app/ который следует имя вашего проект. Как правило, это каталог «домен» для классов, специфичных для вашего приложения.

Например, если ваше название проекта - «блог», вы должны создать каталог с именем app/blog. Затем вы можете создать подкаталоги и классы пространства имен для организации.

Далее пример: Для того, чтобы создать PostDecorator, вы могли бы:

app/blog/decorators/post_decorator.rb

Какой будет выглядеть так:

module Blog 
    module Decorators 
    class PostDecorator 

     #code 

    end 
    end 
end 
Смежные вопросы