無論我如何格式化此請求的原始部分,我都無法避免下面的解析錯誤。如何構建郵遞員請求的Rails POST方法
我有與傳遞規範中的一個方法創建一個Rails API,以表明控制器消息是聲音:
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
我使用郵遞員嘗試發佈它。不管我怎麼努力,我發現了錯誤:
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'
}
郵差請求設置:
我也試過:
{
'power_up': {
'name': 'foo',
'description': 'bar'
}
}
代碼從創建方法和強參數申報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
你已經讓我更接近它的出現。但是,我得到以下內容:'ActionController :: ParameterMissing(param丟失或值爲空:power_up):'。我也嘗試刪除封閉的花括號。 – 2014-08-30 23:23:35
這意味着數據與您的控制器設置的強參數要求不匹配。 – 2014-08-30 23:27:50
我已經添加了強大的參數並創建了上面的方法。有一個怪癖,那就是'PowerUp'在模塊「V1」中。 – 2014-08-30 23:44:50