1

別のbefore_filterを呼び出すことは可能ですか?私が尋ねる理由は、2つの類似したbefore_filtersがあるためですが、1つには、それを真にすることができる追加の条件があります。したがって、最初のbefore_filterがtrueの場合、2番目のbefore_filterもtrueですが、最初の条件がfalseの場合、別の条件がチェックされ、trueかfalseかが決定されます。

4

3 に答える 3

1

フィルターが単なるメソッドであることは正しいので、質問に答えるには:

はい、他のフィルターからフィルターを呼び出すことは可能です。

ただし、レンダリングまたはリダイレクトを 2 回行わないように注意してくださいAbstractController::DoubleRenderError。したがって、フィルターの 1 つがレンダリングされている場合は、他のフィルターを呼び出すべきではありません。

これを管理するには、ブール値の戻り値を使用します。

于 2014-10-11T20:21:05.760 に答える
0

あなたはできる。before_filter は、通常のメソッドを呼び出す単なるトリガーです。そのメソッドは、他の before_filters によって呼び出されたメソッドであっても、他のメソッドを呼び出すことができます。

于 2013-01-09T00:48:27.233 に答える
-1

メソッドを組み合わせたくない場合は、次のようにすることができます。

before_filter :filter_method

def filter_method
 if method_one == true
  method_two
 end
end

def method_one
 # stuff here
end

def method_two
 # stuff here
end
于 2013-01-08T23:00:52.123 に答える