CenCalRuby / freshfoodconnect

0 stars 0 forks source link

Render views explicitly #2

Closed frank-west-iii closed 1 year ago

frank-west-iii commented 8 years ago

Although not found in this project I tend to prefer to render views explicitly by name rather than using rails' magic.

This comes in handy when you need to set up an object to show on for example an edit page.

# user and states methods left out for brevity

# Before

def edit
  render locals: { user_form: UserForm.new(user, states) }
end

def update
  if user.update_attributes(user_params)
    redirect_to users_path
  else
     render :edit, locals: { user_form: UserForm.new(user, states) }
  end
end

# After
def edit
  render_edit
end

def update
  if user.update_attributes(user_params)
    redirect_to users_path
  else
     render_edit
  end
end

private

def render_edit
  render :edit, locals: { user_form: UserForm.new(user, states) }
end