Направляющие - Два контроллера или добавляющие действия?

В TextIO есть функция withTempDirectory, которая должна позволять вам устанавливать временное ведро на то, где учетная запись службы имеет более высокие привилегии.

Я считаю, что TextIO поместит файлы в tempLocation вашего конвейера. Возможно, вы сможете установить tempLocation вашего конвейера в сегменте, который не так критичен для безопасности, и записать результат в защищенный сегмент.

ЛМК, если любая из этих альтернатив поможет.

5
задан TMB 24 April 2009 в 15:45
поделиться

2 ответа

Я бы сказал, что иметь оба контроллера (один общедоступный и один администратор) - это лучшее решение.

Теперь вы можете сделать так, чтобы оба контроллера вызывали один и тот же метод, который выполняет связанные действия в действиях.

class MyController < ApplicationController
  def show
    MyModel.do_all_sorts_of_stuff
  end
end

class Admin::MyController < ApplicationController
  def show
    MyModel.do_all_sorts_of_stuff
    # Admin only stuff goes here
  end
end
7
ответ дан 18 December 2019 в 14:51
поделиться

Как сказал Мэтт, но вы также можете сделать это:

class MyController < ApplicationController
  def show
    MyModel.do_all_sorts_of_stuff
  end
end

class Admin::MyController < MyController
  def show
    super
    # Admin only stuff goes here
  end
end

Это означает, что вы можете просто сосредоточиться на более специализированных случаях для Admin :: MyController, а не на повторении кода.

6
ответ дан 18 December 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: