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")