This is similar to the question Why is the phrase "should have went" so widely used?, but I'd like to specifically ask the difference between the two phrases, and why "should have gone" is correct:
- I should have went to the class, but...
- I should have gone to the class, but...
Why is #2 correct? Is there ever a reason #1 would not be ungrammatical?