The workaround I found (thanks to @ house9) is to use:
user.stories.to_a.any? user.stories.to_a.empty? # also works with empty?
Therefore, Rails is forced to make a request. And the overhead is pretty low, since to_a.any? executes the request only once a few times.
Or better , as @Jordan suggested, use:
user.stories.exists?
source share