1

私はレールにかなり慣れていません。Railsコントローラーの応答タイプをxmlに設定しようとしていますが、うまくいきません。Respond_to と Respond_with がどのように機能するかをよりよく理解する余裕は確かにありました。

ここに私のコントローラーがどのように見えるかがあります:

class ResponsesController < ApplicationController

 respond_to :xml

  def index

    require 'rubygems'   
    require 'telapi'

        ix = Telapi::InboundXml.new do

          Say('Hello.', :loop => 3, :voice => 'man')
          Say('Hello, my name is Jane.', :voice => 'woman')
          Say('Now I will not stop talking.', :loop => 0)
        end

        respond_with do |format|
            format.xml { render }
        end

        puts ix.response 

    end
end

これにより、http の取得に失敗します。コントローラーを修正して応答タイプをxmlに設定する方法を教えてもらえますか? また、respond_to と Respond_with がどのように機能するかについての説得力のある 1-2 のライナーは素晴らしいでしょう!

みんな、ありがとう。

4

1 に答える 1

2

交換

  respond_with do |format|
            format.xml { render }
        end

respond_with(ix)

xml をレンダリングするには 2 つの方法があります。例 1 では、「すべてのメソッドが xml を使用し、respond_with からのオブジェクト parse を使用する」ことを意味する Respond_to を使用しています。

例 2 では、respond_to を使用しています。これは、「以下のブロックを使用して、応答のタイプと解析するオブジェクトを宣言する」ことを意味します。

例 1:

class ResponsesController
  respond_to :xml #respond_to A

  def index
    respond_with(@asd) # respond_with A
  end
end

例 2:

def ResponsesController

  def index
    respond_to do |format|
     format.xml { render xml: @asd}
    end
  end
end

http://blog.plataformatec.com.br/2009/08/embracing-rest-with-mind-body-and-soul/

于 2012-09-28T02:19:02.147 に答える