Javascript Rails 4.2和跨域cookie允许读取cookie数据

Javascript Rails 4.2和跨域cookie允许读取cookie数据,javascript,ruby-on-rails,ruby-on-rails-4,cookies,Javascript,Ruby On Rails,Ruby On Rails 4,Cookies,我有一个Rails 4.2应用程序,正在从另一个域获取请求。我希望他们发送我们在javascript中设置的uuid。它在本地主机上工作,但不跨域。在我们的应用程序_controller.rb中,我有: class ApplicationController < ActionController::Base after_filter :cors_set_access_control_headers def cors_set_access_control_headers h

我有一个Rails 4.2应用程序,正在从另一个域获取请求。我希望他们发送我们在javascript中设置的uuid。它在本地主机上工作,但不跨域。在我们的应用程序_controller.rb中,我有:

class ApplicationController < ActionController::Base

 after_filter :cors_set_access_control_headers

  def cors_set_access_control_headers
    headers['Access-Control-Allow-Origin'] = '*'
    headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
    headers['Access-Control-Request-Method'] = '*'
    headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Authorization'
  end

我还需要再做一步吗

没有您的日志,我没有任何具体的建议

不过,使用gem会更好。这提供了中间件,使CORS请求的权限更简单:

#Gemfile
gem "rack-cors"

#config/application.rb
config.middleware.insert_before 0, "Rack::Cors" do
  allow do
     origins '*'
     resource '*', headers: :any, methods: [:get, :post, :options]
   end
end
这将允许对任何资源的任何请求(来源)——最好使用上面的细节(即
origins“google.com”

这将为您解决CORS问题

#Gemfile
gem "rack-cors"

#config/application.rb
config.middleware.insert_before 0, "Rack::Cors" do
  allow do
     origins '*'
     resource '*', headers: :any, methods: [:get, :post, :options]
   end
end