Bunun en iyi uygulama olup olmadığından emin değilim, ancak genellikle yapmayı sevdiğim yanıtları response_to'ya açık bırakmak (yani, .:format
sonuna kadar ekleyerek), ancak yalnızca denetleyicilerinde kullanmaktır gerekli olduğunda.
Örnek:
routes.rb
map.connect :controller/:action/:id.:format
model_controller.rb
# Return a collection of model objects
def action_with_multiple_responses
@models = Model.all
respond_to do |format|
format.html #=> action_with_multiple_responses.html
format.xml { render :xml => @models }
end
end
# Return the first model object
def action_with_one_response
@model = Model.first
end
Bu şekilde, gereksiz bir bloğu ile action_with_one_response
yöntemini yığılan değil ama sen istersen kendini çok güzel ayarlamışsın bir gün içinde nesneyi xml, json, vb. şeklinde döndürün.
Kapı bekçisi fikrini düşünmemiştim, hoş olanı. –
, bu durumda benim örneğimde, bir istek (html için, .js olmadan) bir 406 ve sadece doğru başlık olmadan sadece bir kayıt jsonu alacak mıdır? eğer öyleyse bu büyük ... – tfwright
Evet, senin 'responses_to' bloğu ile yukarıda, .xml, .html vb. için bir istek' 406 Kabul Edilemez 'olmalıdır. – Ben