微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Rails HTML请求渲染JSON

在我的控制器中,我通过以下方式在我的索引方法支持 HTMLJSON

respond_to do |format|
  format.html
  format.json { render json: @user }
end

在浏览器中提取它时,它会自然地呈现HTML.但是,当我使用content-type将application / json作为/ user资源进行curl调用时(因为它是索引方法),我仍然将HTML作为响应.

如何将JSON作为响应?我还需要指定什么?

解决方法

您应该将.json附加到请求的URL,前提是格式在routes.rb的路径中定义.这在使用资源时是认的.例如,rake路线应该给你这样的东西:

show_user GET    /users/:id(.:format) users#show

获取HTML用户

curl  http://localhost:3000/users/1

要获得JSON用户

curl http://localhost:3000/users/1.json

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐