2009-06-01 18 views
3

私は名前のフィルターによってモデルを持っているが、私は見つけるしようとするため、2.0.3からフィルタを再編成の変化に、それは私のfilters_controller.rbでモデル名の競合

ActionController::Filters::Filter (class) 

と競合してフィルタレールとして

Filter.find(:id) 

ActionController::Filters::Filterクラスではなく、私のモデルクラスのフィルターをinferingています。私のモデルの名前を変更する以外の方法はありますか?

私はActiveRecord::Base::Filter.find(:id)を使用してフィルタオブジェクトを読み込んでいますが、それはうまくいきませんが、レールがアンロード/リロード定数を読み込もうとしたときにはそれほど確実ではありません。

ありがとうございます。

答えて

4

これに対処する最も安全な方法は、モデルの名前を変更することです。さもなければ、デバッグするのが非常に難しい場合には、これを "賢い"危険にさらし、噛まれることになります。

+2

回答ありがとうございました_Kevin。実際に私はruby-forum.orgで以下のフィードバックを得ました。私が:: Filter.find()を使うと、RubyはActionController :: Filters :: Filterクラスではなく自分のクラスを探すようにします。私はその安全だと思う。 –

1

あなたのご意見は殆ど拝見されませんでした。

::Filter.find()