What is the difference between `render` and `redirect_to`?

Beginner

Answer

  • render: Renders a view template without a new HTTP request, maintains instance variables
  • redirect_to: Sends HTTP redirect response, triggers new request, loses instance variables
def create
  @user = User.new(user_params)
  if @user.save
    redirect_to @user  # New request to show action
  else
    render :new  # Renders new template with @user errors
  end
end