Никакой разницы. В класс выносят, если слишком много логики в условии. У вас одна только строчка, поэтому достаточно лямбды. Это просто вопрос читаемости кода.
Но я бы вообще никогда не выносил в класс, так как придется каждый раз искать этот класс, лезть в него и разбираться в нем. Лучше, когда всё в одном месте.
Ну и этот ответ на SO морально устарел: сейчас ложить что-то в lib очень плохо. Но где тогда хранить эти классы, я не знаю — обычно это решается в рамках конкретного проекта, каждый делает, как ему удобно.
В дополнение, статья о том, как разбивать routes.rb на несколько модулей:
blog.arkency.com/2015/02/how-to-split-routes-dot-r...