内容协商不与respond_to节一起使用

时间:2017-03-04 12:24:15

标签: ruby ruby-on-rails-5

下午好,Stack Overflow,

def show
   # Translating ID to event
   @event = Event.find(params[:id])
   respond_to do |format|
     format.html
     format.json { render :json => @event }
   end
end

此代码应该(根据我在线阅读的内容)在Accept标头设置为text/html时生成html响应,并在标头设置为application/json时生成JSON。然而,每当我用Postman测试时,我总是得到首先设置的资源的表示。

在上面的代码中将是html,即使accept头只设置为Json。如果我切换它们,我得到一个json表示,对我设置标题的内容无动于衷。

附带问题:我是Ruby的新手,想要完全理解do |x| do_a() do_b()语法/节是什么。这是一个Switch语句还是更多lambda?

1 个答案:

答案 0 :(得分:1)

找到解决方案

我的大脑刚刚放弃了2天,因为显然我是在GET请求中发送Content-Type标头,而不是相应的Accept Header。

Thx @yoones试图帮助我:)。