Режим двоичного файла «b» может отображаться с любой из букв (r, r +, w, w +, a, a +), поэтому вы можете сделать это следующим образом: f = File.new("public/files/#{user.id.to_s}/filename", "w+b")
.
Иб режим не только для windows.Документация Ruby гласит, что "Режим двоичного файла (может появляться с любой из букв r, r +, w, w +, a, a +. Подавляет преобразование EOL <-> CRLF в Windows. И устанавливает внешнюю кодировку в ASCII-8BITесли явно не указано. " и ничего не говорит о том, что" b "предназначено только для Windows. Оно просто говорит о том, что оно работает по-разному в windows / linux с окончаниями строк. Таким образом, вы можете использовать режим" w + b "в linux и windows.