質問

APIからRailsアプリのリソースにアクセスしようとしています(アプリケーション/XML Getリクエストを送信します)、XMLファイルを解析する必要はありません。

私のリソースコントローラーには、次のことがあります。

def get_resource
    @my_resource = Resources.new
    render :xml => @my_resource
end

予想どおりXMLファイルが生成されます。私がそれを置き換えると:

render :layout => false

私のAPIは、「テンプレートの欠落」エラーを報告しています。また、以下を試しました。

render :xml => @identity, :layout => false

しかし、とにかくページはレンダリングされます。これについて正しい方法は何ですか?

役に立ちましたか?

解決

レンダリングする場合:XMLは、テンプレートも使用しないため、レイアウトを使用しません。指定することで:layout => falseでは、Railsに存在しないテンプレートを探すように指示します。

さて、XMLファイルを解析したくない場合は、いくつかの選択肢があります。また:

render :json => @my_resource

また

render :text => "My resource name is: #{@my_resource.name}" # Whatever you want

それはすべて、結果をどのように見たいか、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

この記事を読む: http://tokumine.wordpress.com/2009/09/13/how-does-respond_to-work-in-the-rails-controllers/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top