, bu işe yarar:Raylar 4.2'de, Medya Türü Parametreleriyle Yanıt İçeriği Türü Üstbilgisini Nasıl Ayarlayabilirim? Önceki versiyonlarda
ActionController::Renderers.add(:foo) do | data, options |
self.content_type = 'application/foo; bar=1'
end
4.2.4'te, bu boş olmasını Content-Type başlığını neden olur. Ancak, aşağıdaki işleri, yani content_type atanan dizeye Content-Type başlığını ayarlar:
ActionController::Renderers.add(:foo) do | data, options |
self.content_type = 'application/foo'
end
Ben işlemek üzerinde CONTENT_TYPE içerik ayarı, bildiğim diğer yaklaşım, artık hiçbir sonuç var gibi görünüyor, yani (. application/foo çalışırken aldırma; çubuk = 1) render('foo', content_type: 'application/foo')
başlığı ayarlamak değil
Burada sahip olduğunuz şeyin doğru olduğunu düşünüyorum. Çalıştığım şeylerin çoğu kırmızı tane ringa balığı: mevcut Rails ve Rspec'de tek tip davranışlara yol açan medya türü parametre işleme tuhaflıkları.Örneğin, Rails'in ParamsParser seçimi _seems_, rota seçimi yapılırken medya tipi parametrelerinin farkında olmamak için kontrolörler seçilir ancak paramlar boş görünür ve kod yolları beklenmedik dönüşler alır. Olabilir. Şimdiye kadar söyleyebileceğim tek şey, en azından Prego'nun bir kavanozu olmaksızın sonuçların tahmin edilemez olmasıdır. –
Yukarıdaki yorumu içeren sorunları bir araya getirmek için, render (file.mime.foo) kullanıldığında kayıtlı bir özel MIME türü, açıkça ayarlanmış bir içerik türünü geçersiz kılar. –