Indipendentemente da come formattare la parte non elaborata di questa richiesta, non è possibile evitare l'errore di analisi riportato di seguito.Come creare la richiesta del postino per il metodo Rails POST
Ho un API Rails con un metodo create che passa le specifiche, per illustrare che il messaggio di controllo è il suono:
describe "POST power_up" do
let!(:client) { FactoryGirl.create :client, name: "joe", auth_token: "asdfasdfasdfasdfasdfasdf" }
it "should create and save a new Power Up" do
expect { post :create, format: :json, power_up: FactoryGirl.attributes_for(:power_up) }.to change(V1::PowerUp, :count).by(1)
end
end
sto usando Postman per cercare di POST ad esso. Non importa quello che provo sto ottenendo l'errore:
Started POST "/v1/power_ups.json" for 127.0.0.1 at 2014-08-30 18:05:29 -0400
Error occurred while parsing request parameters.
Contents:
{
'name': 'foo',
'description': 'bar'
}
ActionDispatch::ParamsParser::ParseError (795: unexpected token at '{
'name': 'foo',
'description': 'bar'
}
Postman richiesta di impostazione:
Ho anche provato:
{
'power_up': {
'name': 'foo',
'description': 'bar'
}
}
Codice da creare metodo e dichiarazione dei parametri forti in power_ups_controller.rb
:
def create
@power_up = PowerUp.new(power_up_params)
if @power_up.save!
redirect_to @power_up
end
end
private
def power_up_params
params.require(:power_up).permit(:name, :description)
end
Mi hai spostato più vicino appare. Tuttavia ottengo il seguente: 'ActionController :: ParameterMissing (param mancante o il valore è vuoto: power_up):'. Ho anche provato a rimuovere le parentesi graffe che racchiudono. –
Ciò significa che i dati non corrispondono ai forti requisiti dei parametri impostati dal controller. –
Ho aggiunto i parametri forti e ho creato i metodi sopra. C'è una stranezza, che 'PowerUp' è all'interno di un modulo' V1'. –