Rails отвечает на angular resource.get с помощью html

0

Rails 4 отвечает на запрос углового ресурса.get с HTML, и я не могу понять, почему.

Javascript - это

$resource("/questions/:id", {id: "@id"}}.get({id: 16});

Сервер не работает, потому что он не может найти HTML-представление для этого запроса.

Missing template questions/show, application/show with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}.

Если я /querstions/16.json свой браузер на /querstions/16.json он будет /querstions/16.json как ожидалось с помощью JSON.

Есть что-то отсутствует в заголовках запроса?

Если я посмотрю на заголовки, запрос, похоже, имеет правильные заголовки запросов, чтобы заставить ruby отвечать json...

Request URL:http://localhost:3000/questions/16
Request Method:GET

Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Host:amazing_earth.dev
Pragma:no-cache
Referer:http://localhost:3000/demo
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36
  • 0
    если вы ищете файл .json разве вы не должны указывать на этот файл?
  • 0
    Итак, у вас есть шаблон для вопросов / шоу?
Показать ещё 2 комментария
Теги:
ruby-on-rails-4

1 ответ

1
Лучший ответ

Это, похоже, проблема рельсов в течение довольно долгого времени, проверьте эту проблему

Согласно комментариям там, этот вопрос был исправить в новой версии рельсов.

И если вы не хотите изменять заголовок angularjs, просто измените формат по умолчанию для маршрута api

get 'questions/:id', to: 'questions#show', defaults: { format: 'json' }
  • 0
    Спасибо, я посмотрю в обновлении до 4.2.1, я на 4.2, так что надеюсь, это довольно безболезненно
  • 0
    Я обновил до 4.2.1, без изменений, все еще получаю ответ в неправильном формате

Ещё вопросы

Сообщество Overcoder
Наверх
Меню