X と Y の 2 つのコントローラーがあります。
X には、プライベート メソッド foo 用の :before_filter があります。
また、コントローラー X の上部に次のステートメントがあります。
helper_method :foo
コントローラ Y には、プライベート メソッド bar の :before_filter があります。bar では foo と呼びます。しかし、未定義のローカル変数またはメソッド エラーが発生するため、明らかにこれは許可されていません。私の :helper_method 宣言では、他のコントローラーで foo を使用できるようにする必要があると思います。
一般的に言えば、コントローラー Y で foo を呼び出すにはどうすればよいですか? foo を非公開のままにしておく方法はありますか? そうでない場合、 foo がプライベートでない場合、(優れた設計原則を順守しながら) どのように達成されますか?
ありがとう!