Я думаю, что то, что вы пытаетесь сделать, может быть выполнено с помощью запроса без необходимости выполнения операций с массивами.
Прежде всего, @allblogs должен быть областью действия, а не фильтрованным массивом.
Во-вторых, это то же самое, что вы можете изменить все, что вы делали, используя:
Blog.order("DESC votes_for")
Таким образом, ваш named_scope будет:
class Blog < ActiveRecord::Base
scope :with_most_votes, order("votes_for DESC")
end
И @fetch будетbe @ allblogs.with_most_votes.
Дайте мне знать, если вам нужна дополнительная помощь.