Ответ 1
Ответ на этот вопрос, вероятно, больше связан с загрузкой html, чем с рельсами.
Если вы хотите загрузить файл, вы обычно делаете ввод с type="file".
Это можно сделать в Rails с помощью file_field_tag helper. Он будет генерировать вход с type="file", который также может иметь атрибут accept, но вы не можете его использовать, потому что он не будет иметь никакого видимого эффекта. Этот атрибут принимает типы MIME, а не расширения, и большинство браузеров даже не используют его.
Лучшее, что вы можете сделать, - это, вероятно, проверить javascript расширение файла перед загрузкой (после выбора файла из диалогового окна). Подробнее об этом читайте в этом вопросе.
Дело в том, что вы не можете заставить ОС показывать вам только расширения файлов, которые вы хотите. Вы можете либо проверить расширение, используя JS, например, перед загрузкой, либо проверить содержимое файла после загрузки, на стороне сервера