Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:render:layout的帮助=>;假的_Ruby On Rails_Render_Actionpack - Fatal编程技术网

Ruby on rails RubyonRails:render:layout的帮助=>;假的

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 =

我正在尝试从API访问rails应用程序资源(它发送应用程序/XMLGET请求),我不想解析XML文件

在我的资源控制器中,我有以下内容:

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
链接已失效。这是新的: