1

レールの before_filter メソッドを実装するアイデアを誰か教えてもらえますか?(自分で before_method を書いてみたい)

特に、Ruby にはメソッド呼び出しを検出する方法があるのだろうか?

私の考えは:

ステップ1:alias_method :old_method, :method

ステップ2:alias_method :method, :wrapper_method

step3: ではwrapper_method、まず何かを実行してから呼び出しますold_method

何か問題ある?

誰でも良いアイデアがありますか?

4

1 に答える 1

0

他のメソッドを呼び出す前にメソッドを起動したい場合は、単純にこれを行うことができますbefore_filter

class UsersController < ApplicationController
    before_filter :check_something
    ... 
    ... 
    ...
end

このようにしてcheck_something、このクラスのメソッドを呼び出す前にメソッドが呼び出されます。

onlyまた、設定やexceptオプションで制限することもできます。お気に入り

before_filter :check_something, :only =. [:show, :edit]

この場合、メソッドはとcheck_somethingに対してのみ呼び出されます。showedit

before_filterとafter_filter の記事は一見の価値があるかもしれません

于 2012-08-28T04:28:28.797 に答える