Я думаю, что в сообществе Rails есть некоторая путаница относительно того, как и где использовать слово "RESTful". Строго говоря, единственной вещью, которая может быть RESTful, является ваш веб-API (как уже упоминалось в railsninja). Что код приложения, соответствующего соглашениям REST (приложение с REST API), обычно может быть организован в набор контроллеров (которые соответствуют ресурсам) и методы в этих контроллерах (которые соответствуют четырем глаголам протокола HTTP) не что иное, как намек на то, как сохранить ваше приложение в чистоте и порядке.
Если мы хотим поговорить о приложении RESTful Rails, мы не можем просто говорить о контроллерах RESTful - нет ничего RESTful только в самих контроллерах. Возможно иметь сложное веб-приложение только с одним контроллером (и множеством методов), которое представляет множество ресурсов и идеально подходит для RESTful.
Тем не менее, вполне нормально добавлять дополнительные методы в ваш контроллер. Иногда полезно извлечь некоторые из этих дополнительных методов и создать совершенно новый контроллер - делайте это в любое время, когда вам это нравится (практическое правило: создайте новый контроллер в любое время, когда вы сможете идентифицировать его с каким-то самодостаточным ресурсом т.е. ресурс, который мог бы существовать сам по себе). Хотя иногда было бы глупо извлечь какой-то ресурс на другой контроллер. Допустим, у вас есть ресурс с атрибутом статуса. Имеет смысл воспринимать этот атрибут статуса как ресурс сам по себе и выполнять по крайней мере одно действие над ним (обновление), но извлекать его на другой контроллер не имеет смысла.