0

次のクエリ

$ curl http://localhost:3000/subscriptions.json -d campaign=CAMPAIGN -d phone=6446342542 -d auth_token=QWvHBzkzGCef58osasxz

戻ってきました

{"errors":{"phone":["can't be blank","Please enter a valid phone number."],"campaign":["can't be blank"]}}

アクションは

def create
  @subscription = Subscription.create(params[:subscription])
  respond_with(@subscription)
end

エラーは、以前の「 response_with(@object)質問に応答するモデルの特定のアクションの実装params[:subscription]」で回答したようにjsonを介して送信していないためと思われます。

Subscription.create(params[:subscription][:phone],..)私が得るような詳細を追加しようとすると

<h1>
 NoMethodError
   in SubscriptionsController#create

nil:NilClassの未定義のメソッド `[]'

4

1 に答える 1

1
curl -v \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-X POST \
-d '{"subscription":{"campaign":"CAMPAIGN","phone":"6446342542"}, \
"auth_token":"QWvHBzkzGCef58osasxz"}' \
http://localhost:3000/subscriptions.json

そのようなことを試してください(1行で行う方が望ましい場合があります...バックスラッシュなしで...読みやすくするためにこれを行いました...しかし、バックスラッシュでも機能します)

于 2012-06-06T20:16:51.567 に答える