Ruby on rails RubyonRails:render:layout的帮助=>;假的
我正在尝试从API访问rails应用程序资源(它发送应用程序/XMLGET请求),我不想解析XML文件 在我的资源控制器中,我有以下内容:Ruby on rails RubyonRails:render:layout的帮助=>;假的,ruby-on-rails,render,actionpack,Ruby On Rails,Render,Actionpack,我正在尝试从API访问rails应用程序资源(它发送应用程序/XMLGET请求),我不想解析XML文件 在我的资源控制器中,我有以下内容: def get_resource @my_resource = Resources.new render :xml => @my_resource end render :xml => @identity, :layout => false 它按预期生成一个xml文件。如果我将其替换为: render :layout =
def get_resource
@my_resource = Resources.new
render :xml => @my_resource
end
render :xml => @identity, :layout => false
它按预期生成一个xml文件。如果我将其替换为:
render :layout => false
我的API报告“模板丢失”错误。我还尝试了以下方法:
def get_resource
@my_resource = Resources.new
render :xml => @my_resource
end
render :xml => @identity, :layout => false
但是页面仍然呈现。正确的方法是什么?当您呈现:xml时,它不使用布局,因为它也不使用任何模板。通过指定:layout=>false,可以告诉rails查找不存在的模板 现在,如果您不想解析xml文件,那么您有几种选择。要么:
render :json => @my_resource
或
这完全取决于您希望结果的外观,以及您的API期望收到的结果。因此,如果您觉得这些都没有帮助,请举例说明您希望响应的外观
def get_resource
@my_resource = Resources.new
respond_to do |wants|
wants.xml { render :xml => @my_resource }
wants.html { render :layout => false }
end
end
阅读这篇文章:谢谢这是我一直在寻找的。还有总是
render nothing:true
链接已失效。这是新的: