Railsアプリのほとんどすべてのコントローラーアクションには、この最初の行があります
@result = super
そのため、この宣言を before_filter に含めることにしましたが、どういうわけかこれは機能しません。何もレンダリングされないか、
Filter chain halted as :result rendered or redirected
基本的に、コントローラーのすべてのアクションに対してスーパーを呼び出すにはどうすればよいですか?
乾杯。
アップデート:
このコントローラーはマウント可能なエンジンに存在し、その役割はデフォルトの API の結果を操作して再度レンダリングすることです。
これが基本構造です
class Api::Custom::PlayersController < Api::V1::PlayersController
before_filter :result
def result
@result = super
end
def func1
@result.first
end
def func2
...
更新 2:
私は今、正確な問題を知っていると思います。これが私のコントローラーの継承構造です
-ApiBaseContoller
-ApiPlayersController
-Api::Custom::PlayersController
最後のコントローラーで before_filter メソッドを呼び出しても、祖父母クラス「ApiBaseContoller」でトリガーされ、そのコントローラーではスーパーが何であるかがわかりません。
ApiPlayersController と Api::Custom::PlayersController の間でトリガーできる before_filter に相当するものがあるのだろうか。
-ApiBaseContoller
-ApiPlayersController
before_filter :do_something
-Api::Custom::PlayersController