Frage

Ich habe folgenden Filter definiert:

# application_controller.rb
class ApplicationController < ActionController::Base
  before_filter :find_account

  private

    def find_account
      @current_account = Account.find_by_subdomain!(request.subdomains.first)
    end
end

und in meinem Test:

# users_controller_test.rb
class UsersControllerTest < ActionController::TestCase
  setup do
    @request.host = "test.myapp.local"
  end
  # ...
end

Jetzt wird test als Sub-Domain für ein Dummy-Konto definiert, die mich auf alle Anfragen Vorbelastung mit factory_girl. Jedoch ist dies ein Null-Objekt Fehler zu werfen, sagen, dass @request null ist. Entfernen des Setup-Block führt alle meine Tests fehlschlagen, da find_account kein Konto finden können und deshalb wirft einen RecordNotFound Fehler.

Was mache ich falsch?

War es hilfreich?

Lösung

Versuchen Sie folgendes:

@request.env['HTTP_HOST'] = 'test.myapp.local'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top