Why do you think it's an anti-pattern, and not separation of concerns? Even with a flexible template language (ERB being about as flexible as it gets), you're wise to put the hard work in the controller.
You wouldn't assign a variable like `articles = Article.all()` at the top of the template, then sort it later in the template, then filter it later still. Instead, you would put something like `@articles = Article.filter(conditions).sort(by_date)` (excuse the pseudo syntax) in your controller, then do a relatively simple loop over @articles in your template.
Under your proposed system, what would the controllers contain?