2017-05-22 5 views
0

Nach der Rails Upgrade 4,2-5,1 es, dass für die Tests nur scheint, wenn ich biete so etwas wie:Rails 5.1 Minitest flacht Array von Arrays in params

post :create, params: { 
    model: { 
    prices: [[2000, "EUR"], [2113.56, "USD"]], 
    estimates: [[50, 2500, "EUR"], [505, 2600, "USD"]] 
    } 
} 

Es dann in dem params des Reglers analysiert wird wie:

prices: [["2000"], ["EUR"], ["2113.56"], ["USD"]] 
estimates: [["50"], ["2500"], ["EUR"], ["505"], ["2600"], ["USD"]] 

Glücklicherweise werden tatsächliche Aufrufe an den Controller ordnungsgemäß analysiert. Ich brauche natürlich die Tests behoben, so würde jede Hilfe wirklich geschätzt werden!

Antwort

2

die Antwort gefunden, nachdem so viel Zeit ..

Wir dachten, dass nur mit: @request.headers['Accept'] = 'application/json' im Setup ok war.

Aber wir mussten auch einschließen: @request.headers['Content-Type'] = 'application/json' , damit die params richtig geparst werden!