0

rakeタスクを起動しても、ActiveAdminが初期化されて読み込まれることに気づきました。Railsサーバーが起動したときにのみActiveAdminが作成するすべてのファイルがapp/admin読み込まれるように指定する方法はありますか?

これが非常に問題となる理由は、次のようなことを行う場合です。

ActiveAdmin.register Tip do
  filter :score_type, :as => :select, :collection => Tip.all
end

そして、を実行しようとすると、このファイルがロードrake db:createされrake db:migrateますが、Tipはまだ存在しません。

4

1 に答える 1

0

これはあなたの質問に答えますが、私はあなたの本当の問題を解決しないと信じています。

Rubyでは、定数が定義されているかどうかを確認するには、次のようにします。

Object.const_defined? "Tip"
 => false 
class Tip; end
> Object.const_defined? "Tip"
 => true 

したがって、ActiveAdmin定義を次のようにラップできます。

if Object.const_defined? "Tip"
  ActiveAdmin.register Tip do
    filter :score_type, :as => :select, :collection => Tip.all
  end
end
于 2012-06-28T14:51:45.590 に答える