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
Это, похоже, проблема рельсов в течение довольно долгого времени, проверьте эту проблему
Согласно комментариям там, этот вопрос был исправить в новой версии рельсов.
И если вы не хотите изменять заголовок angularjs, просто измените формат по умолчанию для маршрута api
get 'questions/:id', to: 'questions#show', defaults: { format: 'json' }
.json
разве вы не должны указывать на этот файл?