0

Ruby on Rails 質問: コントローラー内には 7 つの REST アクションがあります。それらのほとんどすべてが、xml/html または json の形式に対応しています。これが何を意味するのかわかりません。その目的を説明してください。例えば:

def index
  @tweets = Tweet.all

  respond_to do |format|
   format.html
   format.json { render json: @tweets }
  end
end

html と json を含む "respond to" 部分の目的は何ですか? これらのフォーマットは何をしますか? また、xml と html の違いは何ですか? xml が表示されることもあれば、html が表示されることもあります。

ありがとうございました

4

1 に答える 1

1

これは、さまざまなリクエスト タイプに応答する方法をコントローラーに伝える方法にすぎません。たとえば、クライアントはあなたからの html または xml 情報を必要とする場合があります。

def index
 @people = Person.find(:all)

  respond_to do |format|
    format.html
    format.xml { render :xml => @people.to_xml }
  end
end

つまり、「クライアントがこのアクションへの応答として HTML を必要とする場合は、以前と同じように応答しますが、クライアントが XML を必要とする場合は、人々のリストを XML 形式で返します」ということです。(Rails は、クライアントから送信された HTTP Accept ヘッダーから目的の応答形式を決定します。)

http://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respond_to

于 2013-11-11T22:59:48.117 に答える