Rails 相当于 respond_to |format|直接渲染

发布于 2024-08-30 09:42:54 字数 425 浏览 10 评论 0原文

我经常使用 ActiveResource,因此我的服务模型仅使用 XML。因此,我不需要 respond_to 块,我实际上只是 render :xml =>; @model

但是我无法弄清楚如何使用它来渲染 404 标头。我不得不求助于respond_to,我认为这增加了一些不必要的方法调用。这就是我正在使用的:

respond_to do |format|
  if (record_found)
    render :xml => @some_record
  else
    format.xml{ head :not_found }
  end
end

但我只想要类似 render :xml =>; head :not_found 不起作用。谁能告诉我正确的语法?

I'm working with ActiveResource a lot so my service models are only using XML. Thus, I have no need for a respond_to block, I literally just render :xml => @model

I can't however figure out how to render a 404 header using this. I've had to resort to respond_to, which I think adds a few unnecessary method calls. Here's what I'm using:

respond_to do |format|
  if (record_found)
    render :xml => @some_record
  else
    format.xml{ head :not_found }
  end
end

but I just want something like render :xml => head :not_found which doesn't work. Can anyone tell me the proper syntax?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人事已非 2024-09-06 09:42:54

你有没有尝试过:

render {:xml => "Record not found", :status => :not_found }

Have you tried:

render {:xml => "Record not found", :status => :not_found }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文