2014-05-09 18 views
5

Özel başlıkların nasıl iletileceğine ilişkin yönergeleri izlemeyi denedim, ancak benim için çalışmıyor. İşte benim için sırasıyla testi benim Denetleyicisindenrspec denetleyici sınamasındaki özel istek üstbilgileri rack.session olarak iletildi

post :create, {name:profile.name}, {'X-API-KEY' => 'somekey'} 

yılında arıyorum X-API-KEY olarak başlığındaki görmüyorum ama onun yerine request.headers [ "rack.session" gibi görünüyor ne ] [ "X-API-KEY"]

Nasıl bu "rack.session"

cevap

6

Ben de bu sabah konuyla aracılığıyla kazıyoruz olarak geçemiyor için olsun. Sorun, bu yöntem (action, parameters = nil, session = nil, flash = nil, http_method = 'GET') gibi görünüyor gibi burada http://apidock.com/rails/ActionController/TestProcess/process gelir. Bu benim için hiç beklenmedik bir durumdu ve neden böyle devam edeceğime emin değilim. İstediğim değil tam olarak ne/get yönteminden beklenen rağmen

, sen

before do request.headers['X-API-KEY'] = 'somekey' end

Bu işler yapabileceğini çalışma elde etmek.

+1

Belgelenen yolun neden işe yaramadığını anladınız mı? (Sizin çözümünüz benim için işe yarıyor) – joelparkerhenderson

+0

bu işe yarar ama x-api-anahtarlı başlığını tek tek istek ile göndermek güzel olurdu, bu yüzden kendi '' 'ile tamamen farklı iki 'açıklama' bloğu yaratmak zorunda değilim Farklı api tuşlarını test etmek için bloklar ... – sixty4bit

+1

@joelparkerhenderson https://github.com/rspec/rspec-rails/issues/65 'e göre, bunu yapmanın yolu budur. @ sixty4bit isteğinizi yapmadan önce bunu 'it' bloğunuzun içine koyabilirsiniz ya da bu iki şeyi sizin için daha önceki bir blokta değil, bir yöntem yazabilirsiniz. –

İlgili konular