Bu sorunun cevabı muhtemelen rayların daha html yükleme daha fazla ilgilidir: uzantılarını doğrulamak için validate_attachment_content_type yöntemi yoktur.
Eğer bir dosya yüklemek istediğinizde, genellikle type = "dosya" ile bir giriş yapmak.
Bu
file_field_tag helper kullanarak Rails yapılabilir.
özniteliğine sahip olabilen type = "file" ile bir girdi oluşturacaktır, ancak bunu gerçekten kullanamazsınız çünkü gerçekten görünür bir etkisi olmayacaktır. Bu özellik, uzantıları değil MIME türlerini kabul eder ve çoğu tarayıcı bunu kullanmaz.
Yapabileceğiniz en iyi şey, muhtemelen bir javascript'in dosya uzantısını yüklemeden önce (iletişim kutusundan dosya seçtikten sonra) kontrol etmesidir. Bu konuda daha fazla bilgi edinin this question.
nokta sadece istediğiniz dosya uzantılarını göstermek için OS zorlayamaz vardır. Sen yüklemeden önce, örneğin JS kullanarak uzantısı doğrulamak veya kullanabilirsiniz HTML5 ile yüklemeden sonra dosyanın, sunucu tarafında
kullanma JavaScript iyi bir fikir değil. Sunucu tarafı doğrulama ile daha iyi gidin, ör. Paperclip tarafından desteklendiği gibi. –
Doğrulama için javascript kullanımını önermiyorum, ancak sadece bir formalite olarak (yani .. neden birinin yanlış bir uzantıyla bir resim yüklemesine izin verelim). Kullanıcı bir dosya yüklerse, gerekli uzantı olsa bile, sunucu tarafında kontrol edilmesi gerektiği açıktır. ama sorun bu değil. soru yüklemeden önce doğrulanabiliyor muydu (muhtemelen geçerli olmayan bir şeyi yüklemek için zaman kazanmak için. en azından ben böyle görüyorum) –