启动Rails服务器时只需要`require`

时间:2012-06-27 18:15:01

标签: ruby-on-rails ruby-on-rails-3 activeadmin

我注意到即使我启动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尚不存在!

1 个答案:

答案 0 :(得分: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