Рельсовый эквивалент before_filter в Фениксе
Я только начал работать над своим первым приложением Phoenix, и проблема в том, что у меня есть несколько общих строк кода в каждом действии в моем контроллере, которые я хотел бы выделить. Они выбирают данные из нескольких моделей Ecto и сохраняют их в переменных для использования.
В Rails я мог просто определить метод и вызвать его, используяbefore_filter
в моем контроллере. Я мог получить доступ к результату из@variable
, Я понимаю что используяPlugs
это ключ, но мне неясно, как этого добиться, более конкретно:
params
изPlug
и сделать переменные доступными в действияхКак ссылка, это рельсовая версия того, что я пытаюсь сделать:
class ClassController < ApplicationController
before_filter :load_my_models
def action_one
# Do something with @class, @students, @subject and @topics
end
def action_two
# Do something with @class, @students, @subject and @topics
end
def action_three
# Do something with @class, @students, @subject and @topics
end
def load_my_models
@class = Class.find params[:class_id]
@subject = Subject.find params[:subject_id]
@students = @class.students
@topics = @subject.topics
end
end
Спасибо!