I'm doing a PUT "/api/shipments/H10372375236/ready_for_pickup"
, but that stops in Spree::BaseController#authenticate_user
.
My PUT request does not contain any X-Spree-Token header as required by BaseController#api_key
This is the code for my button:
<%= form_tag(spree.api_ready_for_pickup_path(shipment), { method: "PUT", remote: true, id: "admin-ship-shipment" }) do %>
<%= submit_tag Spree.t(:ready_for_pickup), class: "ship-shipment-button" %>
<% end %>
This is my routes:
Spree::Core::Engine.routes.draw do
namespace :api, defaults: { format: 'json' } do
put '/shipments/:id/ready_for_pickup' => 'shipments#ready_for_pickup', as: :ready_for_pickup
end
end
Rails.application.routes.draw do
mount Spree::Core::Engine, :at => '/'
end
rake routes
available as a Gist here.
I have created an API key for the current user in the admin interface.
How do I make sure the PUT request contain the missing X-Spree-Token?