Да, в принципе, не делайте этого, ruby - это ОО-язык, вы пытаетесь создать процедурный язык.
Есть какой-то способ заставить его делать именно то, что вы просите, включая смешивание новых методов в ядре или объекте ... но на самом деле это не то, что вы хотите делать.
Вы хотите добавить этот новый метод ко всем контроллерам, а не обязательно в другие места?Затем просто добавьте его в свой ApplicationController (./app/controllers/application_controller.rb
).Или добавьте его в модуль в ./lib, а затем «включите MyControllerFunctions» в ApplicationController.
Вы действительно хотите использовать его где угодно?Затем я сделал бы то, что предлагает Кайл, сделал его модульным методом и назвал бы его MyFunctions.some_method.
Ruby позволит вам делать что угодно, вы сможете сделать так, чтобы его можно было вызывать так, как вы хотите из любого класса ... но на самом деле, вы не хотитеэто просто приведет к беспорядку.