Полагаю, у меня такая же точка зрения, как и у вас.
В своих проектах я стараюсь быть максимально спокойным, когда могу. Однако, как вы сказали, особый случай просто «не подходит»
В конце концов, это также вопрос «чувства»
Если вы предоставляете функцию импорта в CSV-файл, я считаю совершенно правильным не создавать полную реализацию REST для CSV.
Давайте представим, что в вашем приложении есть клиенты. И вы хотите дать возможность клиентам импортировать данные с помощью CSV. Вы можете добавить маршрут для этого действия, используя:
map.resources :clients, :member => { :uploadcsv => :get }
Маршрут правильно объявлен, ресурс ваших клиентов полностью восстановлен, и у вас есть дополнительное действие, правильно объявленное для управления импортом данных.
Единственное предупреждение, которое я имею: не используйте маршрут, подобный этому, "/ data / uploadcsv". С моей точки зрения не хватает ясности. Мне нравится быть в состоянии понять, что собирается делать мое приложение, просто посмотрев на URL. А '/ data' для меня слишком расплывчато:)