ROR возвращает JSON с ошибкой 406 Not Acceptable - PullRequest
7 голосов
/ 09 декабря 2011

Когда мы возвращаем вывод JSON, используя render :json =>@profiles, вывод вернет требуемые результаты с ошибкой 406.Как избежать этой ошибки «406 Not Acceptable»?

Ответы [ 2 ]

13 голосов
/ 09 декабря 2011

Я более чем уверен, что у вас эта проблема .

Пояснения:

Скажем, ваш контроллер возвращает только ответы JSON

def action
  # call
  respond_to do |format|
    format.json { render json: results }
  end
end

Это вернет json, как только:

  • /path_to_action.json будет вызван
  • /path_to_action вызван с заголовками Content-Type:application/json; и, возможно, некоторыми другими типами заголовков (например, X-Requested-With:XMLHttpRequest)

В противном случае возвращается ошибка 406 Not Acceptable.

Чтобы избежать этой проблемы, если ваш контроллер возвращает только json, напишите:

def action
  # call
  render json: results
end

в противном случае используйте /path_to_action.json.

0 голосов
/ 21 мая 2017

Это случилось со мной, когда у меня было before_action :authenticate_user! на действии контроллера, но я звонил с неаутентифицированной страницы.

Сама страница пыталась выполнить перенаправление.

Аутентификация пользователя или удаление before_action решили это за меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...