10

Rails3でActiveRecordを使用しています。

モデルでスコープを定義しました。そのモデルのすべてのスコープのリストを取得するにはどうすればよいですか?

以前は使用できましたModel.scopes

またはスコープが定義されているかどうかを確認できますか?何かのようなものModel.scope_defined?("scope_name")

前もって感謝します。

4

1 に答える 1

6

スコープがこのように定義されているかどうかを確認できます

Model.send(:valid_scope_name?, :scope_name)

true存在する場合と存在しない場合は戻りnilます。

のソースコードを確認すると、を使用してテストするだけで、ロギング部分を回避valid_scope_name?できることがわかります。respond_to?

Model.respond_to?(scope_name, true)
于 2012-09-27T07:28:10.387 に答える