Odwoływanie się do róznych klas

Czy istnieje możliwość, z poziomu klasy, odwoływać się do akcji innych klas?

class HejController
def Akcja
jakas komenda
end
end

class hej2Controller
def Akcja2
Hej::Akcja
end
end

A można zapytać do czego to jest potrzebne?

Jeśli chcesz współdzielić jakiś kod pomiędzy kontrolerami, to najlepiej przerzucić go do klasy z której dziedziczą - domyślnie ApplicationController.

Jeśli chcesz użyć wzorca (template) z innego kontrolera, to możesz po prostu zrobić render “hej/akcja”, ale jest to raczej niezalecane (np. jeśli masz jakiś fragment (partial) w tamtym wzorcu, to będzie on szukany w app/views/hej2/ a nie w app/views/hej).

A może chodzi o jakieś inne zastosowanie?

Generalnie chodzi o to, że mam funkcję, dodającą do bazy danych, która wykorzystywana jest w dwóch miejscach. Pomysł z umieszczeniem jej w ApplicationController wydaje się być ok. Dzięki.

Taka funkcja zdecydowanie nie powinna lądować w controllerze tylko w modelu. Wtedy nie ma problemu z jej wywołaniem z różnych controllerów, a ponadto jest to zgodne z wzorcem MVC.