We solved this issue by attempting to create the specific presenter and rescuing with the base presenter.
klass = "_presenter".camelize.constantize rescue Presenter
@presenter = klass.new
Inline rescues promote concise code, but they shouldn't be overused to create overly complex lines of code. For example, I probably could have combined the two lines above into one line, but that would be a bit much to digest in my opinion.
In the example we attempt to create the class using constantize, but if an error (like uninitialized constant) occurs we rescue with the base Presenter class. Either way, the result is assigned to the klass local variable.