Вы хотите:
User.order("id desc").find_by_region_id(234)
Это связано с тем, что find_by_xxx
возвращает объект модели, тогда как order
возвращает ActiveRecord::Relation
, который можно затем выполнить, выполнив дополнительный запрос.
Если вы хотите получить все результаты, где region_id равен 234, и вы хотите заказать, вы можете выполнить вызов метода так, как вы ожидаете.
User.where(:region_id=>234).order("id desc")
потому что where
возвращает ActiveRecord::Relation