выполнить before_filter / before_action для всех подресурсов - PullRequest
0 голосов
/ 11 июля 2019

У меня есть модель и контроллер «Родитель».У него есть связка has_many: дети, машины, еда и т. Д., И у каждого есть контроллер.

Родитель имеет поле под названием «мертвый».Когда dead: true, я хочу, чтобы все дочерние отношения отображали определенное сообщение на своих #show и #index страницах.

Я мог бы просто поставить много if statements везде, где я хочу чек

if self.parent.dead
  <show special message>
end

Более чистый способ - поместить его в before_filter.Тем не менее, мне нужно сделать это для каждого дочернего контроллера.Таким образом, я предполагаю, что вопрос заключается в том, существует ли чистый способ выполнения чего-либо для всех зависимых записей?Мне нужно поведение, похожее на dependent: :destroy, только я на самом деле ничего не удаляю, я просто хочу выполнить before_filter для всех зависимых записей.

Спасибо!

1 Ответ

1 голос
/ 11 июля 2019

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

...