Skip to content

Instantly share code, notes, and snippets.

@boniattirodrigo
Last active November 27, 2019 14:16
Show Gist options
  • Save boniattirodrigo/4c589f8bd2235337d7223dba41ee78dc to your computer and use it in GitHub Desktop.
Save boniattirodrigo/4c589f8bd2235337d7223dba41ee78dc to your computer and use it in GitHub Desktop.
Rails patterns

Rails patterns

Patterns

Decorator: Usado em views.

Helpers: Usado em controllers (São comportilhados com toda a aplicação).

Serializers: Retorna a instância serializada em JSON.

Concerns: Reutilização de models e controllers entre múltiplos domínios.

Services: Serve para processos mais complexos, como envios de email, esses tipos de regras não devem ser colocadas nas controllers.

Boas práticas

Models: Só pode ter scopes, validações e atributos.

@matheusazzi
Copy link

  • Mantenha os controllers e models o mais simples possível, eles não precisam saber da lógica de negócio.

  • Extraia isso para POROs, dessa forma é mais fácil de testar e a lógica não fica acoplada ao Rails.

  • O controller só deve saber receber uma requisição, passar a informação pra classe responsável e devolver a resposta.

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