6
Ben tanımlanan aşağıdaki filtreyi vardır:Rails testlerinde bir subdomain araması nasıl yapılır?
# 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
ve benim testinde:
# users_controller_test.rb
class UsersControllerTest < ActionController::TestCase
setup do
@request.host = "test.myapp.local"
end
# ...
end
Şimdi
test
Ben
factory_girl
kullanarak öncesinde tüm isteklere yük bir kukla hesap için alt alan adı olarak tanımlanmaktadır. Ancak, bu, @request öğesinin nil olduğunu söyleyerek bir nil nesne hatası veriyor. Kurulum bloğunu kaldırmak, find_account'ın bir hesap bulamadığından tüm testlerimin başarısız olmasına neden olur ve bu nedenle
RecordNotFound
hatasını atar.
Neyi yanlış yapıyorum?
Sana bir çözüm bulabildin mi, aynı sorun var? – compostus
Subdomain almak için request.subdomains kullandığınızı bulmak için kullanışlıdır, ben params [: subdomain] 'den alıyorum ama @ request.host veya @ request.env [' HTTP_HOST '] –