У меня есть 3 контроллера. Два возвращающихся специализированных предмета (статья, объявление) и один возвращающийся.Несколько контроллеров с логикой избыточного действия в рельсах
GET api/announcements/1 -- produces Announcement json
GET api/articles/2 -- produces Article json
GET api/posts/1 -- produces Announcement json
GET api/posts/2 -- produces Article json
метод show
для контроллера статей содержит логику, которая бы должна быть продублирована в контроллере сообщений. Более конкретно:
def show
deal_with_params(...)
authorize!(...)
render json: @resource
end
После того как я принести ресурс, unique_id
, я знаю, что тип и может расшириться оттуда, но я только хочу authorize
и делать некоторые другие операции по ресурсам типа Article
.
У кого-нибудь есть рекомендации, шаблоны или идеи, которые помогут убедиться, что изменения в этом ArticlesController#show
не должны повторяться в диспетчере сообщений?
К сожалению, чтобы вернуться к этому так поздно. Это похоже на классную идею, но мне трудно ее реализовать. Я не думаю, что понимаю, как PostsController должен вызывать методы в проблемах. Итак, у меня есть две части: (1) метод 'show', который имеет' authorize! (...) if @ resource.type == 'Article''. (2) 'deal_with_params (...)', который имеет такое же условное значение. Можете ли вы привести пример «СтатьиConcern», «PostsController» и, возможно, ArticlesController. – Yason