ActiveRecord .select(): Possible to clear old selects?

Fortunately you're wrong :D, you can use the #except method to remove some parts of the query made by the relation, so if you want to remove the SELECT part just do :

@items = Item.accessible(@auth.id).except(:select).select("polls.id, polls.title")

reselect (Rails 6+)

Rails 6 introduced a new method called reselect, which does exactly what you need, it replaces previously set select statement.

So now, your query can be written even shorter:

@items = Item.accessible(@auth.id).reselect("polls.id, polls.title")