SORU
10 Ocak 2011, PAZARTESİ


Raylar 3 respond_to: varsayılan biçim?

Raylar Raylar 2 bir uygulama dönüştürme duyuyorum 3. Ben şu anda bir denetleyicisi aşağıdaki gibi ayarlayın:

class Api::RegionsController < ApplicationController
  respond_to :xml, :json
end

ve aşağıdaki gibi görünen bir eylem:

def index
  @regions = Region.all

  respond_with @regions  
end

Uygulaması oldukça basit,/bölgeler, api/regions.xml ve apı/bölgeler apı.json beklediğiniz gibi cevap. Bu sorun, varsayılan olarak apı/bölgeler XML üzerinden yanıt vermek istiyorum. Bir XML yanıt bekliyoruz tüketiciler var ve hepsini kendi URL eklemek için değiştirmek zorunda nefret ediyorum .xml sürece kesinlikle gerekli.

Raylar 2 bunu yaparak bunu başarmak istiyorsunuz:

respond_to do |format|
  format.xml { render :xml => @region.to_xml }
  format.json { render :json => @region.to_json }
end

Ama Raylar 3 edemem XML yanıtı için varsayılan için bir yol bulmak. Herhangi bir fikir?

CEVAP
20 Ocak 2011, PERŞEMBE


Eğer yapmaya çalıştığınız şeyi anlıyorum, muhtemelen XML için varsayılan kaynak biçimini ayarlayarak sorunu çözebilirsiniz. Bu kullanıcıların istekleri 'api/bölgelerin ve yanıt için varsayılan XML kullanarak yapmak için izin verir Şuna bir bak 'Denetleyicisi Ad ve Yönlendirme' ve 'Tanımlama Varsayılan' bölümler:

http://guides.rubyonrails.org/routing.html

Güzergah aşağıdaki gibi bir şey yapabilirsin.rb:

namespace "api" do
  resources :regions, :defaults => { :format => 'xml' }
end

Sonra denetleyicisi yöntemleri için aşağıdaki çalışması gerekir:

class Api::RegionsController < ApplicationController
  respond_to :xml, :json

  def index 
    respond_with(@regions = Region.all)
  end
end

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • karneson

    karneson

    23 Temmuz 2006
  • Skittles Page

    Skittles Pag

    28 Mart 2011