2015-03-04 4 views

ответ

4

Вы можете использовать URI.escape он будет заботиться о побеге строки для вас.

URI.escape("files/my file.zip") 
=> "files/my%20file.zip" 
+0

Вы не проверял, правильно? –

+0

Обновленная версия не работает, когда файл содержит файл «/» i.e. «Файл для Windows 9x/NT/2000». Это решило бы проблему с пробелами, но сам помощник не работает должным образом! –

+0

@AndrewRukin Вы делаете веб-запрос, разделитель пути всегда «/». –

1

Просто укажите путь в 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 
Смежные вопросы