Как мне связать файл с общей папкой Rails, если в нем есть пробелы? т.е.link_to файл с пробелами по имени
<%=link_to 'Download my file', root_url + "files/my file.zip"%>
Как мне связать файл с общей папкой Rails, если в нем есть пробелы? т.е.link_to файл с пробелами по имени
<%=link_to 'Download my file', root_url + "files/my file.zip"%>
Вы можете использовать URI.escape он будет заботиться о побеге строки для вас.
URI.escape("files/my file.zip")
=> "files/my%20file.zip"
Вы не проверял, правильно? –
Обновленная версия не работает, когда файл содержит файл «/» i.e. «Файл для Windows 9x/NT/2000». Это решило бы проблему с пробелами, но сам помощник не работает должным образом! –
@AndrewRukin Вы делаете веб-запрос, разделитель пути всегда «/». –
Просто укажите путь в config/routes.rb
(использовать собственный контроллер и действие):
get '/*path', as: :file, controller: :main, action: :file
и строить ссылки использовать file_url
или file_path
помощникам:
file_path(path: 'files/my file.zip')
он вернется:
/files/my%20file.zip
"файлы/мой file.zip" .gsub (»», '% 20') – atomdev