Skip to content

Instantly share code, notes, and snippets.

@gzigzigzeo
Created October 15, 2019 08:54
Show Gist options
  • Save gzigzigzeo/6c1b9d71c7c544d5cade25f250ce4c7f to your computer and use it in GitHub Desktop.
Save gzigzigzeo/6c1b9d71c7c544d5cade25f250ce4c7f to your computer and use it in GitHub Desktop.
class DealsController < ApplicationController
def show
Deals::ShowAction.new(self).call
end
end
class Deals::ShowAction < SimpleDelegator
def call
render ...
end
end
@nepalez
Copy link

nepalez commented Oct 15, 2019

А зачем ты обертываешь экшен вокруг контроллера? Кмк, экшен -- это объект твоей доменной модели с какой-то там бизнес-логикой, а контроллер -- чисто транспортный слой. Контроллеру нужно

  • скомандовать домену что-то сделать (выполнить сервис)
  • получить от домена какие-то данные (page object)

то, что он при этом что-то рендерит -- это особенность транспорта, я бы эту логику оставил в контроллере

@gzigzigzeo
Copy link
Author

gzigzigzeo commented Oct 15, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment