У меня есть проект Rails, который имеет часть api и обычный. У них есть некоторые общие методы, например, у меня есть два контроллера, как так:Возможно ли высушить тот же метод в двух разных контроллерах?
class PlacementController < ApplicationSafeController
def zip
file = ZipService::ZipGenerator.create_zip
send_data(file.read, type: 'application/zip')
File.delete(file.path)
end
end
и
class Api::ZipsController < ApiController
def single_zip
file = ZipService::ZipGenerator.create_zip
send_data(file.read, type: 'application/zip')
File.delete(file.path)
end
end
И как мой ApiController
и ApplicationSafeController
наследоваться от ApplicationController
. Мой вопрос в том, что это лучший способ очистить это, не загрязняя корень ApplicationController
? (добавив там новый метод). Благодаря!
Я думаю, моя проблема в том, что send_data происходит из ApplicationController. Я попытался сделать что-то подобное, у вас есть только уроки вместо send_data, а затем передать send_data через блок, но он казался немного сумасшедшим – Ingo