Какой случай использования 'response_to' в рельсах? - PullRequest
16 голосов
/ 03 мая 2010
respond_to do |format|
  format.html
  format.xml  { render :xml => @mah_blogz }
end

respond_to do |format|
      format.js
end

Что это respond_to, format.html, format.xml и format.js? Какова их цель и как они работают?

Ответы [ 2 ]

9 голосов
/ 03 мая 2010

Вот ссылка на документацию

http://api.rubyonrails.org/classes/ActionController/MimeResponds/ClassMethods.html#method-i-respond_to

Это способ ответа клиенту на основе того, что он запрашивает, если клиент запрашивает HTML, Rails отправит обратно клиенту HTML, если он запрашивает XML, то XML.

8 голосов
/ 27 июня 2012

Скажите, что вы делаете это:

    class UsersController < ApplicationController

      def create
        #
        #your code
        #

        respond_to do |format|
          format.xml {render :xml => xxx}
          format.json {render :json => xxx}
          format.html {render xxx}
        end
      end

      def edit
        #
        #your code
        #

        respond_to do |format|
          format.xml {render :xml => xxx}
          format.json {render :json => xxx}
          format.html {render xxx}
        end
      end

    end

лучше сделать:

    class UsersController < ApplicationController

      respond_to :xml, :json, :html

      def create
        #
        #your code
        #

        respond_with xxx

      end

      def edit
        #
        #your code
        #

        respond_with xxx

      end

    end

и вот как вы храните код СУХОЙ (не повторяйте себя)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...