У меня есть базовый набор контроллеров с довольно стандартным набором методов RESTful. Затем у меня есть второй набор контроллеров для управления клиентскими микросайтами. Второй набор контроллеров почти идентичен базовому набору, за исключением того, что для каждого метода, который отвечает HTML, требуется дополнительная переменная экземпляра, представляющая идентификатор микросайта (который недоступен для базовых контроллеров), который должен быть определен.DRYing in Inherited Methods in Rails Controllers
Это означает, что я повторяю свой код дважды в своем приложении, и это не очень удобно обслуживать, особенно для большого приложения со многими контроллерами. Есть ли способ сказать контроллеру наследовать метод, но затем вставить дополнительную переменную или другую логику в унаследованный метод?
Например, если у меня есть UsersController ниже:
class UsersController < ApplicationController
def index
end
end
А потом у меня есть клиенты :: UsersController < < UsersController ниже:
class Clients::UsersController < UsersController
def index
@client_id = params[:id]
end
end
Как высыхают Клиенты :: UsersController ?
Очень трудно сказать вам что-нибудь полезное, так как вы опустили все соответствующий код. На этом этапе мы могли бы предложить «положить« много контроля потока »в метод» и не намного больше. – meagar
Код не очень уместен. Это не вопрос конкретного кода. Это вопрос о шаблонах проектирования. Я мог бы разместить весь код для моего контроллера, но 99% этого вопроса не имеет отношения к этому вопросу, поэтому я выбрал общий пример. – ACIDSTEALTH