Rails 4正在使用HTML响应angular resource.get请求,我无法弄清楚原因。
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
,它会按预期使用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 :(得分:1)
这似乎是很长一段时间的铁路问题,请检查this issue
根据评论there,此问题已在最新的rails版本中得到修复。
如果您不想修改angularjs标头,只需更改api路由的默认格式
get 'questions/:id', to: 'questions#show', defaults: { format: 'json' }