1
私は、支払いを処理した後(私の要求への応答ではなく、アプリケーションのエンドポイントへのPOSTを伴う)外部支払いゲートウェイと通話するRails 4アプリを持っています。テンプレートを探すことなくRails 4の外部APIコールバックに応答するには?
このエンドポイントにはjsonのみを扱うコントローラーがありますが、外部APIがエンドポイントにヒットするたびに、サーバーログにアクションのテンプレートが見つからないというエラーが表示されますjson本体を正しく処理してください。
これが私のルートです:これは私のコントローラ(省略)である
match 'callback', to: 'gateway#callback', via: [:post], as: :gateway_callback
:
class GatewayController < ApplicationController
respond_to :json
def callback
if params && params[:event]
case params[:event]
when ... (several cases identical to this one)
when 'PAYMENT.AUTHORIZED'
payment_authorized(params)
render json: { status: 200 }
else
render json: { status: 406 }
end
end
end
応答が正しく
{
"status": 200
}
そしてpayment_authorized
をレンダリングし、それが持っているものありません行う。しかし私のサーバーは叫ぶ:
ActionView::MissingTemplate (Missing template gateway/callback, application/callback with {:locale=>[:"pt-BR", :pt], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builde
r, :raw, :ruby, :coffee, :haml, :jbuilder]}
私はどのようなテンプレートなしでjson応答を送信するだけであることをRailsに伝えたいのですか?
これで解決しました。本当にありがとう! –