Bu isteğin ham kısmını nasıl biçimlendirdiğim önemli değil, aşağıdaki ayrıştırma hatasını önleyemiyorum. Rails POST yöntemi için postacı isteği nasıl oluşturulur
I denetleyici mesajı sağlam olduğunu göstermek için, spec geçen bir oluşturma yöntemi ile bir Raylar API sahiptir: bunun POST deneyin Postacı kullanıyorumdescribe "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
. Ne olursa olsun ben denemek ne hatayı alıyorum:
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'
}
Postacı isteği hazırlığı: Ben de denedim
:
{
'power_up': {
'name': 'foo',
'description': 'bar'
}
}
Kod yöntemini oluşturmak gelen ve power_ups_controller.rb
numaralı telefondaki güçlü parametreler beyanı:
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
Beni daha yakınına taşıdınız. Ancak aşağıdakileri elde ediyorum: 'ActionController :: ParameterMissing (param eksik veya değer boş: power_up):'. Ayrıca çevreleyen küme parantezlerini çıkarmaya çalıştım. –
Bu, verilerin, denetleyicinizin ayarladığı güçlü parametre gereksinimleriyle eşleşmediği anlamına gelir. –
Güçlü paramları ekledim ve yukarıdaki yöntemleri oluşturdum. Bir quirk var, 'PowerUp'' V1'de bir modül var. –