最初の Phoenix アプリの作業を開始したばかりですが、問題は、コントローラーのすべてのアクションに共通のコード行がいくつかあることです。これを分離したいと考えています。複数の Ecto モデルからデータを取得し、変数に保存して使用します。
before_filterRails では、単純にメソッドを定義し、それをコントローラーで使用して呼び出すことができました。から結果にアクセスできました@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
ありがとう!