0

我目前正在开发一个使用自定义部分的 rails_admin 应用程序:这是我的 rails_admin.rb 初始化程序的摘录:

edit do
  field :propositions do
    partial 'form_propositions'
  end
end

我使用 capybara 编写了集成测试并使用 guard 启动了它们:我所有的测试都是绿色的,当我在我的测试套件中使用“save_and_open_page”时,我可以确认我的自定义部分被 capybara 使用。但是,如果我使用 'rake test:integration' 启动我的测试,我的测试会失败:使用 'save_and_open_page' 方法我可以看到我的自定义部分没有被使用,而是我有原始的 rails_admin 表单......

你知道发生了什么吗?非常感谢您的回答。

4

1 回答 1

0

RailsAdmin 向 rake :environment 任务添加了一个 rake 任务,该任务关闭 RailsAdmin 初始化程序的加载。这意味着 rake 任务不会加载自定义操作、部分操作等。

由于保护不是由 rake 任务启动的,因此所有自定义项都已正确加载。

要关闭此性能“优化”以便您可以在 rake 任务中测试 RailsAdmin 自定义,请将以下内容添加到您的 Rakefile:

task :default => [:load_rails_admin_initializer]
task :load_rails_admin_initializer do
  ENV['SKIP_RAILS_ADMIN_INITIALIZER'] = 'false'
end
于 2012-09-18T22:38:39.717 回答