Я создаю пример приложения электронной коммерции, используя ruby on rails. Одно из моего имени контроллера - «product_controller». Этот контроллер также размещен внутри как вложенные контроллеры. Действия внутри этих контроллеров одинаковы. Как мы можем представить эти действия без дублирования кодов. Образцы кода приведены ниже.Как избежать дублирования/повторения методов в контроллерах - RAILS 3+
приложение/контроллеры/products_controller.rb
def index
@product = Product.all
@vari = @products.variants
.............
.............
end
приложение/контроллеры/master_admins/products_controller.rb
def index
@product = Product.all
@vari = @products.variants
.............
.............
end
приложение/контроллеры/master_admins/properties_controller.rb
def product
@product = Product.all
@vari = @products.variants
.............
.............
end
Вышеуказанные действия содержат один и тот же набор кодов. Как мы можем реорганизовать это так t код не будет повторяться.
Заранее спасибо ....
Я думаю, что лучший вопрос - почему вам нужны несколько контроллеров с одним и тем же кодом? Если вы беспокоитесь о контроле доступа, почему бы не обработать это с помощью ролей? – mmichael
я также использую этот набор кодов в вложенных контроллерах. Это действие индекса контроллера продукта происходит в следующих URL-адресах моего проекта. «localhost: 3000/products», «localhost: 3000/master_admins/products», «localhost: 3000/property_admins/products». –