2016-12-26 98 views
0

我正在向郵遞員發送請求,而且我的避難所參數一直保持爲空,即使我已將其格式化爲使遮蔽參數包含正確地形成數據。如果我缺少任何東西,請幫助我。ActionController :: ParameterMissing(參數丟失或值爲空:避難所):

class Api::V1::SheltersController < ApplicationController 

    def index 
    @shelters = Shelter.all.order(:id).reverse 
    respond_with @shelters 
    end 

    def show 
    @shelter = Shelter.find(params[:id]) 
    respond_with @shelter 
    end 

    def create 
    @shelter = Shelter.new(shelter_params) 
    if @shelter.save 
     render json: @shelter, status: 201 
    else 
     render json: { errors: @shelter.errors.full_messages }, status: 422 
    end 
    end 


    private 

    def shelter_params 
     params.require(:shelter).permit(:name, :address, :phone, :beds) 
    end 

end 

數據我通過郵差送

shelter : { 
    name : "Pee's Shelter", 
    address : "Pee's Address", 
    phone : "(236)817-4853", 
    beds : 5 
} 

請求信息我看到鐵軌頁面上

參數:

{「避難所:{\ n \ t \ tname:\「小便的住處\」,\ n \ t \ t地址:\「小便的地址\」,\ n \ t \ tphone:\「(236)817-4853 \」,\ n \ t \ tbeds: 5 \ n} \ n「=> nil,」subdomain「=>」api「,」format「=>:json}

+0

你如何在郵遞員中發送參數?原始的,表單數據還是x-www-form-urlencoded? – mokayode

+0

我把它作爲Raw發送 –

+0

2016-12-26 08:14:42 -0800 開始POST「/ shelters」for 127.0.0.1處理方法Api :: V1 :: SheltersController#create as JSON 參數:{「shelter :{\ n \ t \ tname:\「Pee's Shelter \」,\ n \ t \ taddress:\「Pee's Address \」,\ n \ t \ tphone:\「(236)817-4853 \」,\ n \ t \ tbeds:5 \ n} \ n「=> nil,」subdomain「=>」api「} 在1ms內完成400次錯誤的請求(ActiveRecord:0.0ms) –

回答

1

您的密鑰設定爲:

"shelter : {\n\t\tname : \"Pee's Shelter\",\n\t\taddress : \"Pee's Address\",\n\t\tphone : \"(236)817-4853\",\n\t\tbeds : 5\n} \n" 

和你的那個鍵值爲=> nil

字符串之前取出"

更確切地說:不要將您的住所和所有鑰匙創建爲一個字符串。

+0

我也曾在它沒有它設置爲JSON(application/json)謝謝 –

相關問題