This is a companion discussion topic for the original entry at https://thoughtbot.com/upcase/videos/ruby-science-introduce-parameter-object
This was great lesson @jferris. One quick questionâŚ
I have a form that requires a lot of parameters. What would be the best way to refactor if you have like 40+ fields?
class SomethingsController < ApplicationController
before_action :authenticate_user!
def index
end
def show
end
def new
end
def create
end
def edit
end
def update
end
def destroy
end
private
def somethings_params
params.require(:retreat_attendees__c).permit(
:sample_a,
:sample_b,
:sample_c,
:sample_d,
:sample_e,
:and_so_on..... 40+ more
)
end
end
If you have a crazy huge form, you can use composite form objects. You can make several form objects, each of which represents a set of fields on the form. Each can define which fields it requires and define validations that make more sense on the form than they do in your models. You can then define a higher-level form object that doesnât accept fields, but instead composes the individual form objects which handle their own fields.
Hi @mrgilman, great lesson!
I was wondering what command you use to maximize the rspec pane in tmux when you want to see the whole pane. I noticed you do this is when you usually see a failure and you want to see the whole message rather than just the number of failures at the bottom.
It was probably LeaderZ, which zooms the focused pane.
I wonder if it this would be a good candidate for using a Struct.