私はシンプルなSinatraアプリケーションを実行しています。データを照会し、POST用のJSONを処理用にWebHook URLに送信する必要があります。 HTTPartyで取得したレコードを適切にフォーマットする方法がわかりません。HTTParty経由のActiveRecordクエリのPOST結果が得られません
連絡先は/account/{account_id}/contacts.jsonに印刷しています。どのようにしたいのですか、データは正常に送信されていません。
app.rb
get "/account/:account_id/contacts.json" do
@contacts = Contact.where("sfid = ?", params[:account_id])
HTTParty.post("https://hooks.webapp.com/hooks/catch/387409/1us4j3/",
{
:body => [ @contacts ].to_json,
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
})
@contacts.to_json
end
まず、どのように差がありますデータは '@ contacts.to_json'と' [@contacts] .to_json'をどのように送信しているのでしょうか?それは問題になる可能性があります。しかし、そうでない場合は、送信されていないことをどのように確信しているかについてより多くの情報が必要です。 –
'where'はすでに配列を変数@ contactsに返します。したがって、 '@ contacts'の型は既に配列です。私は、jsonに変換する前に配列に再度変換する必要はないと思う。 ':body => @ contacts.to_json'は大丈夫です。 – Mayank
@AndréGuimarãesSakata私は、送信ルートがあるので、送信していないと確信しています。 HTTParty.post( "https://hooks.webapp.com/hooks/catch/387409/1us4j3/"、 { :body => {'Content-Type' => 'application/json'、 'Accept' => 'application =>'値1 '、:プライバシー=>'値2 '}] .to_json、 :/json '} }) 正常に実行され、webhookによって捕捉されます。私の質問に投稿したコードは捕まえられません。 – csakon