Skip to content

Instantly share code, notes, and snippets.

@addstar34
addstar34 / presenter_design_pattern.rb
Last active December 1, 2017 05:25
Presenter Design Pattern (without double iterating when coming from #index)
# app/controllers/pets_controller.rb
class PetsController < ApplicationController
before_action :set_pet, only: [:show, :edit, :update, :destroy]
def index
# old way
# @pet_presenters = Pet.all.map { |pet| PetPresenter.new(pet, view_context) }
# new way
@pet_presenters = PetsPresenter.prepare(Pet.all, view_context)