Используйте наследование с вашими контроллерами.Реализуйте свои функции редактирования и обновления в классе AlphaController
, а затем наследуйте от этого класса в ваших BetaController
и GammaController
классах, где вы затем реализуете свои другие функции.
class AlphaController < ActionController::Base
def edit
...
end
def update
...
end
end
class BetaController < AlphaController
def index
...
end
end
Обратите внимание, что этосделает ваши URL ... / бета / редактировать и ... / бета / обновить.
Вы можете использовать только views / alpha / edit.html.erb в качестве частичного представления, а затем визуализировать страницу альфа-представления в качестве частичного в ваших бета / гамма-представлениях.
Помните, что даже если вы храните объекты в одной таблице Alpha, у вас все еще есть два класса в вашей модели, Beta и Gamma, и вы должны обращаться с ними как с такими.