从rails控制器返回

这是一个初学者的问题……

我这样做之后:

format.xml { head: ok} 

如何在不显示视图的情况下从控制器端点返回? 如果我此时退出函数的末尾,我得到了我期望的结果,但是如果我调用’return’,我最终会进入视图(或者在我的情况下,在一个缺失的视图模板中)。 我可以编写很多if / else等,但是从函数中提前出来并不会在视图模板中结束会很好。

我四处搜寻,无法弄清楚这个问题的明显答案是什么; 它一定要直截了当……

您可以使用“ render :nothing => true, :status => :ok ”返回而不渲染任何内容,一旦发送了render:nothing => true,您需要从控制器返回,这样的事情可能会起作用。 您可以将head()方法调用交换为render => :nothing然后return ,此处记录了head()方法:

  • api.rubyonrails.org/classes/ActionController/Base.html#M000635

这是应该为你做的代码……

  • gist.github.com/126367

如果没有正确回答您的问题,请告诉我,可以在此处找到有一些有用的用户评论的渲染调用文档:

  • apidock.com/rails/ActionController/Base/render

(抱歉,我无法为您链接超链接,因为新用户stackoverflow不允许我发布多个!)

使用

render :nothing => true, :status => :ok

在你的行动方法

我想你一定要问:

 render :nothing => true