0

私は現在、カスタムのパーシャルを使用する rails_admin アプリケーションに取り組んでいます: これは私の rails_admin.rb 初期化子の抜粋です:

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

カピバラを使用して統合テストを作成し、ガードを使用してそれらを起動しました。すべてのテストは緑色で、テスト スイートで「save_and_open_page」を使用すると、カスタム パーシャルがカピバラによって使用されていることを確認できます。しかし、「rake test:integration」でテストを起動すると、テストが失敗します。「save_and_open_page」メソッドを使用すると、カスタム パーシャルが使用されておらず、代わりに元の rails_admin フォームがあることがわかります...

何が起こっているのか分かりますか?ご回答ありがとうございます。

4

1 に答える 1

0

RailsAdmin は rake :environment タスクに rake タスクを追加し、RailsAdmin 初期化子のロードをオフにします。これは、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 に答える