2015-08-04 6 views
0

В моем приложении rails один из контроллеров отображает общедоступную статистику, и я хочу, чтобы веб-сайты, размещенные на разных доменах, извлекали данные. (App.donornest.com/stats.json)Rails - контроллер, который не проверяет токен CSRF

Мой код контроллера приведен ниже:

class StatsController < ApplicationController 
require 'ostruct' 
skip_before_action :verify_authenticity_token 
respond_to :html, :xml, :json, :csv 

def index 
    @stats = OpenStruct.new 
    @stats.users = User.all.count 
    @stats.organizations = Organization.all.count 
    @stats.donors = Person.all.count 
    respond_to do |format| 
     format.json {render json: @stats} 
    end 
end 
end 

Я думал skip_before_action линии: verify_authenticity_token было бы достаточно, но когда я пытаюсь сделать запросы на эту страницу с консоли, я получаю следующую ошибку:

XMLHttpRequest cannot load http://app.donornest.com/stats.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. 

Как это исправить?

ответ

2

Это не похоже на токен аутентификации.

Это похоже на ошибку междоменного контроля доступа. Проверьте этот ответ, чтобы включить заголовки управления доступом в рельсах для клиентов с поддержкой CORS:

Allow anything through CORS Policy

Смежные вопросы