2016-03-24 16 views
0

Sorun: Bir sayfaya bir resim eklemeye çalıştığımda ve görüntü aşağıdaki dosya adı biçimine sahip olduğunda, Rails bir 404 döndürür ve görüntüyü bulamaz:Raylar 4, belirli bir biçimde filename ile görüntü bulamıyor

2014/08/13-abcdef1.png bu son "1" kaldırırsanız, biraz daha garip yapma

, doğru görüntüyü bulur.
Ayrıca, "1" yerine altıgen alfabesinde olmayan bir şeyle ("g") değiştirirseniz, görüntüyü doğru bulur.

Rails, varlık dosya adlarında yedi karakterlik hex dizeleriyle ilgili bir sorun mu var? Benzer bir sorun yaşayan herkes mi, yoksa nasıl çözüleceğini biliyor mu? Tüm görüntü dosyalarının (yüzlerce vardır) yeniden adlandırılması gerçekten bir seçenek değildir.
Varlık boru hattını devre dışı bırakmayı denedim, ancak sorun devam ederse (ve hatta devre dışı bırakılmış durumda tutmak gerçekten iyi bir düzeltme değil).

+0

Bir "image_tag" ile böyle bir dosya adı kullandığınızda, görüntü, web sayfasının sonuç HTML'sinde hangi URL'yi alır? – BoraMa

+0

Resim dosya adını (bazı hatalarınız var) kullanmaya çalıştım ve Rails kodunu kullanarak yükledim, ancak kodumda düzgün şekilde oluşturuldu. Ayrıca Rails 4 (tam olarak 4.2.0) kullanıyorum. Kodum sadece image_tag (@ user.first.image.url (: original)) gibidir. Hangi html üretir: 2014 08 13 abcdef1

+0

Mutlak yolu şimdilik bir geçici çözüm olarak kullanabildim - eğer bir çözüm bulursam yardım edeceğim - yardımın için teşekkürler! – musicmunky

cevap

0

Emin olamadım ama sanırım, image_tag size yardımcı olacaktır.

Raylar uzun dosya adlarını sorunsuz bir şekilde destekler.

+0

Ne yazık ki image_tag aynı davranışı veriyor. Bu durumda, dosya adı uzunluğunun bir sorunu değildir - daha uzun adlara sahip dosyalar, varlık boru hattında başarılı bir şekilde alınır. Görünüşe göre, bir şey vidalanıyor, çünkü bu bir Hex dizesi ... uzunluğu önemli değil. – musicmunky