Ich entwickle eine Ionic (Cordova) -App mit einem Ruby on Rails API. Ich möchte Antwortheader verwenden, um nach der Anmeldung ein Token zurückzugeben. Ich verwende rack-cors
Juwel Kreuz Herkunft Antrag Arbeit zu machen:Fügen Sie benutzerdefinierte Antwort Header mit Rack-Cors und Grape
application.rb
config.middleware.insert_after Rails::Rack::Logger, Rack::Cors, :logger => Rails.logger do
allow do
origins '*'
resource '/api/*', :headers => :any, :methods => [:get, :post, :options, :put]
end
end
und Trauben gem meine API Routen zu verwalten. Aber ich kann keinen Weg finden, eine Kopfzeile zu meiner Antwort hinzuzufügen, seit ich rack-cors
hinzugefügt habe.
Ich habe versucht, dieses:
header('Access-Token', user.token.key)
Aber es funktioniert nicht. Was ich auch tue ich mit diesen Header am Ende:
{Cache-Control: "max-age = 0, privat, Must-revalidate" Content-Type: "application/json"}
Kann mir jemand bei diesem Problem helfen?
können Sie diese zu application_controller.rb hinzufügen und Ihre aktuelle protect_from_forgery entfernen. füge 'protect_from_forgery mit:: Ausnahme hinzu, wenn: Proc.new {| c | c.request.format! = 'application/json'} protect_from_forgery mit:: null_session, if: Proc.new {| c | c.request.format == 'application/json'} ' – 7urkm3n
Wenn du lokal arbeitest und rails api nennst, sollte es dir kein Rack-Kabel geben, wie ich weiß. Ich bin gerade nicht mit Cordova erlebt. – 7urkm3n
Tatsächlich arbeite ich lokal. Ich habe versucht, meine protect_from_forgery wie vorgeschlagen zu ändern, aber es gibt mir den bekannten 'Access-Control-Allow-Origin'-Fehler – Shrolox