I like dhh's advice:
...whenever I have the inclination that I want to add a method on a controller that’s not part of the default five or whatever REST actions that we have by default, make a new controller!
and Taylor Otwell's
... a lot of people's architectural problems would be solved by having more controllers.
Maybe a UserOffersController, so you could show offers by whichever user you want.
Personally, I like the ADR approach. Create action specific controllers and just have an __invoke method for each. You end up with a lot of controllers, but you have a clear single purpose for each and you end up with fewer dependencies per controller.